![]() |
String (str[i]) funktioniert nicht
Hi,
blöder Titel, aber folgendes :
Delphi-Quellcode:
Die Zweite Message ist leer, liegt das daran dass das Zeichen ein Integer ist?! eigentlich ja nicht oder?
intstr: String;
intstr := Edit1.Text; ShowMessage(intstr); ShowMessage(intstr[4]); oder geht das nur bei ShortStrings noch? |
Re: String (str[i]) funktioniert nicht
Etwas mehr Infos bitte. Was genau steht in Edit1.Text?
|
Re: String (str[i]) funktioniert nicht
Was steht denn im Edit?
|
Re: String (str[i]) funktioniert nicht
Hallo,
ich bin mir nicht sicher, denke aber, dass es funktionieret. Was steht dem im Edit? Ich nehme an, das 4. Zeichen ist kein Leerzeichen. Grüße Edit: Huch, da waren 2 schneller. |
Re: String (str[i]) funktioniert nicht
was steht denn drin in Edit1.Text?
|
Re: String (str[i]) funktioniert nicht
Edit1.Text sind BinärZahlen, die von meinem Programm umgerechnet werden sollen.
darin ist zB 110 oder so, aber selbst wenn ich "hi" eingebe, funktioniert es nicht |
Re: String (str[i]) funktioniert nicht
4 Leute die gleiche Frage?
Das muss die richtige sein :thumb: Gruß oki |
Re: String (str[i]) funktioniert nicht
hi hat nur 2 Buchstaben. In ...[4] steht nichts sinnvolles. Maximal #0
|
Re: String (str[i]) funktioniert nicht
Jupp. String[4] gibt dir das vierte Zeichen des Strings. Wenn der String natürlich nur 3 hat, dann steht an 4. Stelle nix...
|
Re: String (str[i]) funktioniert nicht
stimmt :) geb ich was anderes ein funtzt?
ok sehe gerade bei der Zahl gehts auch. Aber irgendwas ist dann hier falsch :
Delphi-Quellcode:
var
Form1: TForm1; intcounter,intsolution,intpos: Integer; intstr: String; Wert: Array [1..8] of Integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin intstr := Edit1.Text; Wert[8] := 1; Wert[7] := 2; Wert[6] := 4; Wert[5] := 8; Wert[4] := 16; Wert[3] := 32; Wert[2] := 64; Wert[1] := 128; intsolution := 0; for intcounter := 0 to Length(intstr) + 1 do begin intpos := 8 - intcounter; // Aktuelle Position ShowMessage(intstr); ShowMessage(intstr[4]); ShowMessage('Int Pos : ' + IntToStr(intpos) + 'IntContent' + intstr[intpos] + 'Solution ' + IntToStr(intsolution)); if intstr[intpos] = '0' then begin intsolution := intsolution + 0; // 0 end else if intstr[intpos] = '1' then begin intsolution := intsolution + Wert[intpos]; end { else begin ShowMessage('Error: Binary has other values than 0 or 1'); end;} end; ShowMessage(IntToStr(intsolution)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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