![]() |
String in Array of Char
Tach allerseits,
ich weiß, die Frage ist schon tausendmal gestellt und fast so oft auch beantwortet worden. Aber ich bin etwa irritiert, was der Compiler ausspuckt und was nicht.
Delphi-Quellcode:
var txtChar : array [0..255] of char;
txtString: String; begin txtString := 'Dieser Text wird vom Compiler nicht akzeptiert!'; txtChar := txtString; // Logisch String <> Char txtChar := 'Dieser Text wird vom Compiler akzeptiert!'; // Warum das jetzt? end |
Re: String in Array of Char
Woran lieg das eingentliche Problemm ? String als Array of Char zu benutzen? Wenn ja dann so:
Delphi-Quellcode:
var s:string;
c:array[0..100]of Char; begin s:='abcdefghijklmnopqrst'; c[30] := s[4]; // c[30] := 'd'; end; |
Re: String in Array of Char
Zitat:
|
Re: String in Array of Char
Versuch mal SetString und übergib @ArrayName
|
Re: String in Array of Char
Letztendlich habe ich das jetzt mit StrPCopy(txtChar, txtString) gemacht. Alternativen wären auch folgende gewesen.
Delphi-Quellcode:
Gewundert hatte mich allerdings warum
SetLength(txtChar,Length(txtString));
for i:=1 to length(txtString) do txtChar[i-1]:=txtString[i]; // oder Move(txtString[1],txtChar[0],Length(txtString));
Delphi-Quellcode:
das akzeptiert wird. An Compilermagic glaube ich nicht - eher an meine Unwissenheit ;)
txtChar := 'Dieser Text wird vom Compiler akzeptiert!'; // Warum das jetzt?
|
Re: String in Array of Char
Bei SetString hättest du das alles in einem Aufruf, aber laß mal ...
Delphi-Quellcode:
SetString(StringVar, @ArrayVar, lstrlen(@ArrayVar));
Zitat:
|
Re: String in Array of Char
Zitat:
Delphi-Quellcode:
txtString := 'Dieser Text wird vom Compiler nicht akzeptiert!';
StrLCopy(txtChar, PChar(txtString), SizeOf(txtChar) - 1); |
Re: String in Array of Char
Klingt plausibel. Andererseits handelt es sich hierbei um Druckerbezeichnungen und da werden wohl nicht mehr als 255 Zeichen vorkommen.
|
Re: String in Array of Char
... andererseits sollte man sein Programm immer so generisch und so flexibel wie nur möglich schreiben, deshalb solltest du ruhig auf Sprint hören.
|
Re: String in Array of Char
ok, bin ja nicht lernresistent :)
Der Haken bei der Sache ist natürlich, dass ich mich dabei auf maximale Anzahl an Zeichen von txtChar beschränke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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