![]() |
string in record mit über 255 Zeichen?
Hallo,
Ich hätt da mal ein Problemerl.... Und zwar will ich in einem record einen string haben. und zwar mit mehr als 255 Zeichen. So 1024 wären meine Kragenweite. Aber das geht ja nicht. Ich - nicht dumm ;) - mach mir sowas:
Delphi-Quellcode:
Wie kann ich da jetzt einigermaßen performant und schön(=wenig code) einen string zuweisen?
Text: array[0..1023] of char;
Oder geht das irgendwie anders, ohne mehrere Felder zu deklarieren (Text1,text2,text3,text4:string[255]) und trotzdem records verwenden zu können? |
Re: string in record mit über 255 Zeichen?
Was spricht gegen "Test: string;"?
|
Re: string in record mit über 255 Zeichen?
Die liebe Compilermagic hilft dir :mrgreen:
nimm dein CharArray und weise dem einfach mal 'nenm String zu ^^
Delphi-Quellcode:
Text := 'das ist ein String';
[add] blödes rotes Kästchen, wo bist du? @Grishnak: dann ist der String aber nicht mehr im Array, sonder nur der Pointer daruf :zwinker: |
Re: string in record mit über 255 Zeichen?
Das hab ich auch erst gedacht.... geht aber nicht :P
[Fehler] UMsgProtocol.pas(66): E2010 Inkompatible Typen: 'Array' und 'string' Soviel zu Compilermagic.... :| Ohne Literale hilft die auch nix mehr. |
Re: string in record mit über 255 Zeichen?
nutze für sowas doch einfach "move"
|
Re: string in record mit über 255 Zeichen?
D7 PE:
Delphi-Quellcode:
funktioniert.
procedure TForm1.Button1Click(Sender: TObject);
var s: array[0..10] of char; begin s := 'test'; end; |
Re: string in record mit über 255 Zeichen?
@malo:
Zitat:
Ah, genau das habe ich gesucht. :) Jetzt sag mir nur noch, wie genau ich das benutze....
Delphi-Quellcode:
So?
size:=Min(length(MyString,1023));
Move(MyString,MyCharArray[0],size); |
Re: string in record mit über 255 Zeichen?
Zitat:
|
Re: string in record mit über 255 Zeichen?
hmmm, komisch, bei mir ging das mal?
ansonsten so
Delphi-Quellcode:
(müste jedenfalls so in der Art funktionieren)
Var A: Arry[1..999] of Char;
S: String; // String > Array Move(Pointer(S), @A, Length(S) + 1); // Array > String S := A; // oder nochmal Array > String S := PChar(@A); |
Re: string in record mit über 255 Zeichen?
@Grishnak: Ähm.... ja, durchaus, da würd ich nämlich äusserst blöd aus der Wächse schauen, wenn ich danach diesen Record speichern oder verschicken will und da immer nur 4 unverständliche bytes drinstünden.
@himitsu: danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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