Compiler Fehler"Wrong Numbers..." [(un)gelöst]
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
Nochmals, was steht in der Datei test_prozess.lpr Zeile 29, Spalte 46?
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
eine Klammer )
tmp := SplitRegExpr('\W',st[3],'=');
tmp := SplitRegExpr('\W',st[3],'=');
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
Gut, die Fehlermeldungmtbf40 hat geschrieben:eine Klammer )
Code: Alles auswählen
test_prozess.lpr(29,46) Error: Incompatible type for arg no. 3: Got "Char", expected "TStrings
Code: Alles auswählen
tmp := SplitRegExpr('\W',st[3],'=');
^
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
Code: Alles auswählen
SplitRegExpr (const ARegExpr, AInputStr : string; APieces : TStrings);
http://regexpstudio.com/TRegExpr/Help/T ... rface.html
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
Deine Information ist unvollständig.
ist keine gültige Pascal Funktions- oder Procedur header Definition. Ist es so
?
Wenn ja vergleiche mal was die Prozedur erwartet und was du übergeben hast.
Code: Alles auswählen
SplitRegExpr (const ARegExpr, AInputStr : string; APieces : TStrings);
Code: Alles auswählen
procedure SplitRegExpr (const ARegExpr, AInputStr : string; APieces : TStrings);
Wenn ja vergleiche mal was die Prozedur erwartet und was du übergeben hast.
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
ist mir schon klar das ich irgend einen Mist übergebe - wie bekomme ich aber ein '=' in eine TStrings ... und wie übergebe ich diese dann??? Genau an diese Stelle hänge rum und drehe mich im Kreis 
habe das ja versucht zu konstruieren, ABER immer die 3

habe das ja versucht zu konstruieren, ABER immer die 3

-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
Bitte schau was die Prozedur erwartet und überlege, was der Zweck der Parameter ist.
Aus http://regexpstudio.com/TRegExpr/Help/T ... rface.html
Aus http://regexpstudio.com/TRegExpr/Help/T ... rface.html
Code: Alles auswählen
procedure SplitRegExpr (const ARegExpr, AInputStr : string; APieces : TStrings);
Split AInputStr into APieces by r.e. ARegExpr occurencies
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
Split AInputStr into APieces by r.e. ARegExpr occurencies
sagt mit: zerlege <LOT="ZA149062"> bei <=> mit <\W>
SplitRegExpr
ARegExpr -> \W'
AInputStr -> st[3] (LOT="ZA149062")
APieces -> '='
mtbf40
sagt mit: zerlege <LOT="ZA149062"> bei <=> mit <\W>
SplitRegExpr
ARegExpr -> \W'
AInputStr -> st[3] (LOT="ZA149062")
APieces -> '='
mtbf40
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
Mir sagt das:
"Zerlege AInputStr in Stücke die auf den regulären Ausdruck ARegExpr zutreffen." Was nicht explizit steht aber naheliegend ist:
"Speichere die Stücke in die items von APieces."
"Zerlege AInputStr in Stücke die auf den regulären Ausdruck ARegExpr zutreffen." Was nicht explizit steht aber naheliegend ist:
"Speichere die Stücke in die items von APieces."
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
so habe ich es jetzt verstanden - mir ist eine Erleuchtung gekommen
... und schon funktioniert es - @mse Danke - man(n) muß nur lesen können
schönes WE - bis zur nächsten Herausforderung
mtbf40

Code: Alles auswählen
tList : TStringList;
tList.Create;
SplitRegExpr('\W', 'LOT="ZA149062"' , tList);
schönes WE - bis zur nächsten Herausforderung
mtbf40
Zuletzt geändert von Lori am Fr 18. Nov 2011, 15:27, insgesamt 1-mal geändert.
Grund: Highlighter
Grund: Highlighter
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]

Martin
Edit: Hmm, wenn ich lese was du geschrieben hast, funktioniert das wirklich?
Edit2: Weil es Wochenende ist:
Code: Alles auswählen
var
tList: TStringList;
[...]
tList:= TStringList.create;
try
[...]
finally
tList.free;
end;
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
so wieder hänge ich an einem Problem:
ich habe ein ComboBox die normal über den Programmcode gefüllt wird. Wenn aber keine Daten gefunden werden, soll der Nutzer die Möglichkeit haben einen Wert (String) einzutragen... und ich weiß nicht wie ich das hinbekommen soll.
mtbf40
ich habe ein ComboBox die normal über den Programmcode gefüllt wird. Wenn aber keine Daten gefunden werden, soll der Nutzer die Möglichkeit haben einen Wert (String) einzutragen... und ich weiß nicht wie ich das hinbekommen soll.


mtbf40
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
Frage: ist es überhaupt möglich in eine ComboBox zu schreiben und dies dann auszulesen??
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
Antwort: Jap.
Grundsätzlich kannst du davon ausgehen das alle Basis-Komponennten irgendwie gleich arbeiten (was nicht zuletzt an der vererbung liegt)
Memo, Listbox, Combobox.
Alle besitzen eine Eigenschaft von Type TStrings(TStringList) in die dann werte eingetragen werden.
Daraus folgt das du bei einer Combobox , ähnlich wie bei einer Memo einträge zur Laufzeit einfügen kannst:
Grundsätzlich kannst du davon ausgehen das alle Basis-Komponennten irgendwie gleich arbeiten (was nicht zuletzt an der vererbung liegt)
Memo, Listbox, Combobox.
Alle besitzen eine Eigenschaft von Type TStrings(TStringList) in die dann werte eingetragen werden.
Daraus folgt das du bei einer Combobox , ähnlich wie bei einer Memo einträge zur Laufzeit einfügen kannst:
Code: Alles auswählen
// so fügt man in einer Memo etwas bei
Memo1.Lines.add('Eintrag1');
Memo1.Lines.Add('Eintrag2');
// So in der Combobox.
// der einzige unterschied ist das das eine "Lines" das andere "Items" heißt. Dahinter steckt exakt die selbe Klasse.
Combobox1.Items.add('Eintrag1');
Combobox1.Items.Add('Eintrag2');
// Den aktuell makierten eintrag rausfinden, beginnt bei 0. ist -1 wenn nichts makiert ist. So kann man auch den eintrag 7 makieren lassen...
Combobox1.ItemIndex;
// etwas scheiben
Combobox1.Text
// Die länge des Eintrags rausfinden. Das letzte ansprechbare Element ist Combobox1.Items.Count-1
Combobox1.Items.Count
Code: Alles auswählen
Signatur := nil;
Re: Compiler Fehler"Wrong Numbers..." [(un)gelöst]
danke für Erklärung - es funktioniert...
habe auch gleich die nächste Frage:
ich möchte folgendes händeln:
1. ich habe 2 Prozeduren
2. in beiden Prozeduren werden externe Programme aufgerufen - C:\Prog\prog_1.exe C:\Prog\prog_2.exe
3. damit ich den Code für das Ausführen nicht doppelt schreiben will, möchte ich eine Funktion schreiben
4. mein Problem ist jetzt folgendes: ich übergebe dieser Funktion den aufrufenden String - z.B. C:\Prog\prog.exe - möchte aber 2 Werte zurück bekommen:
Process.Count und Process.Output
gibt es eine Möglichkeit auf die Variablen in der Funktion zurück zugreifen?
habe auch gleich die nächste Frage:
ich möchte folgendes händeln:
1. ich habe 2 Prozeduren
2. in beiden Prozeduren werden externe Programme aufgerufen - C:\Prog\prog_1.exe C:\Prog\prog_2.exe
3. damit ich den Code für das Ausführen nicht doppelt schreiben will, möchte ich eine Funktion schreiben
4. mein Problem ist jetzt folgendes: ich übergebe dieser Funktion den aufrufenden String - z.B. C:\Prog\prog.exe - möchte aber 2 Werte zurück bekommen:
Process.Count und Process.Output
gibt es eine Möglichkeit auf die Variablen in der Funktion zurück zugreifen?