![]() |
AW: String ersetzen/ Zugriffsverletzung
Zitat:
Zitat:
Am besten nachdem Eingabe1 gefüllt wurde. Grüße Klaus |
AW: String ersetzen/ Zugriffsverletzung
Delphi-Quellcode:
var
Form1: TForm1; var eingabe1 : string; var wortLaenge : integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var I : integer; begin eingabe1 := edit1.text; wortLaenge := length(eingabe1); for I := 1 to wortLaenge do begin edit3.Text:=edit3.Text+'_'; end; end; procedure TForm1.Button2Click(Sender: TObject); var buchstabenLaenge : integer; var buchstabe : char; var I : integer; var lösung : string; begin buchstabe := edit2.Text[1]; buchstabenLaenge := length(buchstabe); if buchstabenLaenge>=2 then begin label2.Caption:= 'Bitte geben sie nur einen Buchstaben ein!'; end else begin for I := 1 to wortLaenge do begin if eingabe1[I]=buchstabe then begin lösung[I]:=buchstabe; end; end; end; end; |
AW: String ersetzen/ Zugriffsverletzung
Zitat:
Du mußt den Debugger auch mal richtig benutzen. Haltepunkte da setzen, wo der eigentliche Fehler vermutet wird und dann im Einzellschritt weiter. Notfalls direkt in der DPR mit Debuggen anfangen. - mit F8 so lange weiter, bis es knallt 1: - immer den letzen Befehl merken - dort einen Haltepunkt drauf - neu anfangen im debuggen (Strg+F2 und dann F9) - mit F7 ein Stück rein - und dann eventuell wieder mit F8 weiter, bis es knallt ... neuen Haltepunkt setzen (Alten löschen) - wenn dort ein Funktionsaufruf ist und darin wieder eigener Code steckt, dann zurück zu 1 - hier hast du ja nun schon einen Haltepunkt, also kann man notfalls auch mehrmals diese Stelle untersuchen (neu Anfangen mit Debuggen, bzw. Ereignis neu ausläösen, welches diesen Code aufruft) - diese Stelle untersuchen, also Variablen ansehn und prüfen ob auch das drin ist, was drin sein sollte - usw. PS: Warum sind eingabe1 und wortLaenge globale Variablen? (es gehört ja wohl eher zur Form, bzw. zu Methoden die in TForm1 stecken, also gehört es auch in diese Klasse/TForm1 rein ... z.B. ins "Private") |
AW: String ersetzen/ Zugriffsverletzung
buchstabenLaenge ist garantiert immer 1, da ein Char per Definitionem genau einem Zeichen entspricht. Und vor der Schleife
Delphi-Quellcode:
musst Du lösung noch auf die Länge wortLaenge setzen.
for I := 1 to wortLaenge do
Delphi-Quellcode:
SetLength(lösung, wortLaenge);
|
AW: String ersetzen/ Zugriffsverletzung
.. wird dasn eine Art von Hangman Spiel?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var I : integer; begin eingabe1 := edit1.text; setLength(lösung, length(eingabe1)); wortLaenge := length(eingabe1); for I := 1 to wortLaenge do begin edit3.Text:=edit3.Text+'_'; end; end;
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var buchstabenLaenge : integer; var buchstabe : char; var I : integer; //var lösung : string; begin Grüße Klaus |
AW: String ersetzen/ Zugriffsverletzung
ich bekomme zwar keine fehlermeldungen mehr, aber der buchstabe wird auch nicht ersetzt
wenn ich button2 klicke passiert gar nichts |
AW: String ersetzen/ Zugriffsverletzung
Zitat:
Grüße Klaus |
AW: String ersetzen/ Zugriffsverletzung
oh mann was für ein blöder fehler^^
vielen dank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz