Re: Fehlersuche
Zitat:
|
Re: Fehlersuche
Delphi-Quellcode:
String2 := Copy(Edit2.Text,1, Length(Edit2.Text));
y:= StrToInt(Copy(Edit1.Text,1,1)); Schalter := 0; x := 1 ; // String stückeln// Memo1.Text := ''; repeat begin sTemp1:= Copy(String2, 1, y); case StrToInt(sTemp1) of 1234 : Memo1.Text := Pchar(Memo1.Text + 'a'); 5678 : Memo1.Text := Pchar(Memo1.Text + 'b'); end; String2 := Copy(Edit2.Text,(y+1), Length(Edit2.Text)); // String jetzt nur noch von 'einer Zahl nach y' bis zum ende' y := y+y ; // Wenn ich diese Zeile entferne (habe gemerkt dass sie sinnlos ist) hängt sich das Programm auf If (y >= (Length(Edit2.Text))) Then Schalter := 1 ; End; until (schalter = 1) ; so besser ? wo muss ich das y entfernen ? ich will ja nur machen, das y nicht mehr y+y ist (da unten ...) aber wenn ich das lösch hängt sichm ien programm auf |
Re: Fehlersuche
Delphi-Quellcode:
String2 := Copy(Edit2.Text,1, Length(Edit2.Text)); //was soll denn das hier?
y:= StrToInt(Copy(Edit1.Text,1,1)); //wie bereits erwähnt: Edit1.Text[1] hat denselben Effekt Schalter := 0; x := 1 ; //x wird anschließend nie benutzt // String stückeln// Memo1.Text := ''; repeat begin sTemp1:= Copy(String2, 1, y); //im ersten Durchlauf also "1", dann "12" usw. case StrToInt(sTemp1) of 1234 : Memo1.Text := Pchar(Memo1.Text + 'a'); //wieso der Cast nach PChar? 5678 : Memo1.Text := Pchar(Memo1.Text + 'b'); end; String2 := Copy(Edit2.Text,(y+1), Length(Edit2.Text)); // String jetzt nur noch von 'einer Zahl nach y' bis zum ende' //y := y+y ; // Wenn ich diese Zeile entferne (habe gemerkt dass sie sinnlos ist) hängt sich das Programm auf inc(y); //vermutlich war das so gemeint If (y >= (Length(Edit2.Text))) Then Schalter := 1; End; until (schalter = 1); |
Re: Fehlersuche
Delphi-Quellcode:
String2 := Copy(Edit2.Text,1, Length(Edit2.Text)); //was soll denn das hier? Das brauch ich für nen Eintrag weiter unten und ich wusste nicht wohin ich das sonst schreiben soll
y:= StrToInt(Copy(Edit1.Text,1,1)); //wie bereits erwähnt: Edit1.Text[1] hat denselben Effekt Schalter := 0; x := 1 ; {x wird anschließend nie benutzt stimmt hatte ich vergessen löschen (hatte ich aus einer früheren 'version' des Programmes über )} // String stückeln// Memo1.Text := ''; repeat begin sTemp1:= Copy(String2, 1, y); //im ersten Durchlauf also "1", dann "12" usw. case StrToInt(sTemp1) of 1234 : Memo1.Text := Pchar(Memo1.Text + 'a'); //wieso der Cast nach PChar? okay du hast recht das ist unnötig 5678 : Memo1.Text := Pchar(Memo1.Text + 'b'); end; String2 := Copy(Edit2.Text,(y+1), Length(Edit2.Text)); // String jetzt nur noch von 'einer Zahl nach y' bis zum ende' 2(y); // ja meinte ich If (y >= (Length(Edit2.Text))) Then Schalter := 1; End; until (schalter = 1); |
Re: Fehlersuche
Erklär doch einmal mit Worten, was der Code machen soll, dann kommen wir vielleicht eher zu einer Lösung.
|
Re: Fehlersuche
zu erst soll er die zahlen aus Edit2 einlesen.
dann soll er die ersten 'y' zahlen des Strings (also ehemals Edit2) 'abtrennen' und überprüfen zu welchem Buchstaben die gehören (also in meinem Code 'a' oder 'b') anschließend soll er von dem übrig geblibenen String wieder die ersten 'y' zahlen abtrennen und das hier auch überprüfen. das soll er so langem machen, bis alle zahlen überprüft sind. die anzahl der abzutrennenden Buchstaben/Zahlen (also 'y') ist die erste Zahl in Edit1 aber egal was ich mache ich bekomme immer nur ne fehlermeldung oder nur einen Buchstaben hinterher raus ... |
Re: Fehlersuche
Aber nur das erste Zeichen des Edits muss eine Zahl sein, oder hab ich das falsch verstanden?
|
Re: Fehlersuche
hey,
nachdem ich Delphi neu gestartet hab funktioniert es jetzt so wie ich es will... *komisch* danke für eure bzw deine hilfe ! |
Re: Fehlersuche
Das mag ich zwar kaum glauben und hatte deshalb schon mit dem Code angefangen, aber wenn es jetzt geht, ist ja gut :)
|
Re: Fehlersuche
ist echt so.
vielen dank ^^ sag mal hab schon wieder ne frage. kan ich in case abfragen variablen bauen ? also case StrToInt(sTemp1) of variable1 : (Memo1.Text + 'a') geht das ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz