![]() |
Arrays verursachen Zeigerprobleme
Hallo zusammen
Ich zeig gleich mal den code.
Delphi-Quellcode:
wie man sieht, ist es eine einfache art buchstaben zu "code"zahlen umzurechnen.
procedure TForm1.JvButton1Click(Sender: TObject);
var email : string; wurzel : integer; i, j : integer; codes : array of integer; res : array of integer; begin JvEdit2.Text := ''; Setlength(codes,1); SetLength(res,1); email := ''; email := JvEdit1.Text; wurzel := 163; SetLength(codes, Length(email)); SetLength(res, Length(email)); for i := 1 to Length(email) do begin codes[i] := ord(email[i]); ShowMessage(IntToStr(codes[i])); end; for j := 1 to Length(email) do begin res[j] := codes[j] * wurzel; ShowMessage(IntToStr(res[j])); JvEdit2.Text := (JvEdit2.Text + IntToStr(res[j]) + ':'); end; end; das funktioniert eigentlich auch, bis auf das problem, das immer wieder die fehlermeldung "unzulässige zeigeroption" oder so erscheint. er gibt mir das resultat zwar aus. wenn ich z.b. ins textfeld "test" eingebe, funktionierts. wenn ich das programm jetzt schliesse kommt wieder der fehler. oder wenn ich nach der eingabe von test, z.b. nur tes schreibe oder einfach was anderes, kommt der fehler auch. weiss wer woran das liegen könnte? |
Re: Arrays verursachen Zeigerprobleme
alter fehler aber immer wieder vorkommender fehler!
Dynamische arrays beginnen bei 0 und gehen bis Anzahl-1 !!! hier...
Delphi-Quellcode:
procedure TForm1.JvButton1Click(Sender: TObject);
var email : string; wurzel : integer; i : integer; codes : array of integer; res : array of integer; anzahl:integer; anzeige:string; begin anzeige:=''; email := JvEdit1.Text; wurzel := 163; anzahl :=Length(email); SetLength(codes, anzahl); SetLength(res, anzahl); for i := 0 to anzahl-1 do begin codes[i] := ord(email[i+1]); res[i] := codes[i] * wurzel; anzeige:= anzeige + IntToStr(res[i]) + ':'; end; JvEdit2.Text := anzeige; end; |
Re: Arrays verursachen Zeigerprobleme
joppp :D tnx, hab ich nedmal gemerkt da der stringarray bei 1 anfing. tnx
|
Re: Arrays verursachen Zeigerprobleme
:roll: email ist ja auch ein String, der beginnt bei 1. Es ging um das dynamische Array codes. ;)
//Edit: Wie frech! :lol: Da editiert der Schelm doch einfach, während ich schreibe und ich bekomme keinen roten Kasten :lol: |
Re: Arrays verursachen Zeigerprobleme
@leddle: auch ein immer wieder gerne gemachter fehler :wink: aber dafür ist ja der edit-button :thumb:
die frage ist doch warum machst du das überhaupt mit dyn arrays?
Delphi-Quellcode:
procedure TForm1.JvButton1Click(Sender: TObject);
var email : string; i : integer; anzeige:string; begin anzeige:=''; email := JvEdit1.Text; for i := 1 to length(email) do begin anzeige:= anzeige + IntToStr(ord(email[i]) * 163) + ':'; end; JvEdit2.Text := anzeige; end; |
Re: Arrays verursachen Zeigerprobleme
ich mach das mit dyn-arrays, da ich ja nicht weiss wie lange die eingegebene e-mail adresse ist.
|
Re: Arrays verursachen Zeigerprobleme
...was ja das Benutzen eines Strings, wie ibp es vorgeschlagen hat, nicht wirklich ausschließt. :zwinker:
PS: @ibp: Ich lieeeeebe deinen Avatar :lol: //Edit: Aber IMHO läßt sich dein Code auch noch kräftig zusammenfassen und entmüllen. ;) //Edit2: :shock: War natürlich nicht an ibp gerichtet, sondern an Circle :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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-2025 by Thomas Breitkreuz