Findfirst, findnext, findclose

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Findfirst, findnext, findclose

Beitrag von malabarista »

Ich habe gemäß einem Beispiel in der Lazarus-Doku
https://www.freepascal.org/docs-html/rt ... first.html
eine prozedure zum Dateisuchen erstellt.
Leider bekomme ich einen Compilerfehler:
Error: Incompatible type for arg no. 1: Got "TRawbyteSearchRec", expected "LongWord"
(windows, 32-bit)

Code: Alles auswählen

 
procedure TForm1.datei_transfer(muster:string);
 
var
  info : TSearchRec;
  count : Longint;
  z:string;
 
begin
count:=0;
If FindFirst(muster,faAnyFile,info)=0 then
   begin
   Repeat
      inc(count);
      with info do
        begin
        z:=name;
        ....
        end;
   until FindNext(info)<>0;
   end;
FindClose(info); //<- dies ist die vom Compiler monierte Zeile
end;
 


Was ist da falsch ?

Martin V
Beiträge: 142
Registriert: Sa 30. Jan 2010, 19:35
OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
CPU-Target: xxBit

Re: Findfirst, findnext, findclose

Beitrag von Martin V »

Probier mal sysutils.findfirst ... . Es gibt glaube ich mehr als eine firndfirst... Deklaration.

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Findfirst, findnext, findclose

Beitrag von Mathias »

Uses Windows eingebunden ?
Diese FindClose verlangt einen HANDLE und dieser ist ein LongWord.

Am besten umgehst dies so, wen die Unit Windows zwingend gebraucht wird.

Code: Alles auswählen

uses
  Classes, ...., Windows // Alt 
  Windows, Classes, .... // Neu

Diese Deklarationsänderung spart dir auch für andere Sachen Ärger.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Findfirst, findnext, findclose

Beitrag von malabarista »

gut zu wissen...

Antworten