Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Fehlermeldung "Fehlender Parameter Typ"


Arne Danikowski - Fr 19.01.07 10:00
Titel: Fehlermeldung "Fehlender Parameter Typ"
Wer findet den Fehler? Ich bekomme immer die Fehlermeldung
"Fehlender Parameter Typ"
in der Zeile


Delphi-Quelltext
1:
function DoCopy(Quelle,Ziel;var Z):Boolean;                    


hier der Quelltext

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
procedure TForm1.Button9Click(Sender: TObject);
var
   Zaehler:Integer;
   Quelle,Ziel:String;

function DoCopy(Quelle,Ziel;var Z):Boolean;
   begin
        Result:=false;
       if (FileAge(Ziel) <> FileAge(Quelle)) or (FileSize(Quelle) <> FileSize(Ziel)) then
       begin
          Result := (copyfile(Quelle,Ziel,FALSE)) <> 0;
          inc(Z);
       end;
   End;
....
.....
.....
       Zaehler:=0;
       ProgressBar1s.Max := 100;
       ProgressBar1.Position := 0;
       Screen.Cursor := crHourGlass;
....
....

       DoCopy('N:\El70_m\lager\original\artikel.dbf','N:\El70_m\lager\artikel.dbf',FALSE),Zaehler);
       ProgressBar1.Position := 20;
       DoCopy('N:\El70_m\lager\original\hersteller.dbf','N:\El70_m\lager\hersteller.dbf',FALSE),Zaehler);
.....
.....

Moderiert von user profile iconTino: Titel geändert.


ZeitGeist87 - Fr 19.01.07 10:12

Hallo!

Du musst natürlich noch angegeben, von welchem Typ deine Aufrufparameter sind


Delphi-Quelltext
1:
 function DoCopy(Quelle,Ziel: String;var Z:Integer):Boolean;                    


LG
Stefan


freak4fun - Fr 19.01.07 10:12


Delphi-Quelltext
1:
function DoCopy(Quelle,Ziel: Stringvar Z: Boolean):Boolean;                    


Arne Danikowski - Fr 19.01.07 10:16

Vielen dank für die schnelle Hilfe

nun bekomme ich in folgender Zeile eine Fehlermeldung:


Delphi-Quelltext
1:
       if (FileAge(Ziel) <> FileAge(Quelle)) or (FileSize(Quelle) <> FileSize(Ziel)) then                    


Inkompatible Typen


Logikmensch - Fr 19.01.07 10:18

Gib doch einfach die Typangabe von Quelle und Ziel an. Da das offenkundig Dateinamen sein sollen, würde ich hier String empfehlen, also:


Delphi-Quelltext
1:
function DoCopy(Quelle,Ziel:stringvar Z:integer):Boolean;                    


Übrigens stimmt in Deinem Code so einiges nicht mit den Parametern. Z.B. stimmt bei


Delphi-Quelltext
1:
DoCopy('N:\El70_m\lager\original\artikel.dbf','N:\El70_m\lager\artikel.dbf',FALSE),Zaehler);                    


schonmal die Klammeranzahl nicht. Ich denke, dass Du schon ein bisschen sorgfältiger den Code schreiben solltest.


Logikmensch - Fr 19.01.07 10:26

Geh doch mal mit dem Cursor auf die Anweisung FileAge bzw. FileSize und drücke die F1-Taste. Dann erklärt sich die Fehlermeldung des Compilers praktisch von selbst. Scheinbar proggst Du das allererste mal mit Delphi?!? Typen und ihre Verwendung sind Grundlagenwissen, was man sich vor dem Programmieren aneignen sollte. Ist nicht böse gemeint...


Arne Danikowski - Fr 19.01.07 14:37

Zitat:

Scheinbar proggst Du das allererste mal mit Delphi?!?

Nicht ganz schon seit einer Woche :D
Zitat:


Typen und ihre Verwendung sind Grundlagenwissen, was man sich vor dem Programmieren aneignen sollte.


Wie soll das aussehen? Soll ich mir alle Funktionen vorher ansehen, merken und dann wissen wie ich die Verwenden soll? Dann lerne ich Programmieren ja in ein paar Tagen.
Also in der einen Woche habe ich schon eine Menge gelernt und es wird täglich mehr. Immerhin bringe ich mir das ja auch selber bei.
Zitat:


Ist nicht böse gemeint...


Fasse ich nicht böse auf, jeder ist eben mal Angefangen, und das ich ein ausgesprochener Noob bin weiss ich ja.
Also verzeiht mir meine dämlichen Fragen.

Aber wie muss ich das nun machen?


Logikmensch - Mo 22.01.07 08:41

Zitat:
Wie soll das aussehen? Soll ich mir alle Funktionen vorher ansehen, merken und dann wissen wie ich die Verwenden soll? Dann lerne ich Programmieren ja in ein paar Tagen.


Ich wollte nicht sagen, dass Du die Parameter (Reihenfolge, Typen) der ganzen Delphi-Funktionen auswendig wissen sollst. Das kann auch ich nicht.
Aber da Du bei Deinen Funktionen/Prozeduren die Typen ganz weggelassen hast, dachte ich, Dich doch noch mal in eine kleine Trainingsrunde über die Handhabung von Parametern zu schicken. ;-)

Ich habe auch klein angefangen und würde 'nen Teufel tun, andere Anfänger kleinreden zu wollen.