Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi string zum array of char (https://www.delphipraxis.net/28022-string-zum-array-char.html)

Snoop007 18. Aug 2004 19:46


string zum array of char
 
hi,
ich möchte auf einfachsteweise, die daten eines strings in ein array of char "packen"

sicher könnte ich dazu eine schleife nehmen, aber könnte das nicht einfacher/schöner gehen ?
die function copy wird in der delphi hilfe zwar so beschrieben, das sie auch ein array zurückliefern könnte, mach sie aber nicht

wisst ihr da was ?

glkgereon 18. Aug 2004 19:52

Re: string zum array of char
 
probiers mal mit ner einfachen zuweisung aus

ich mein das ginge...

Snoop007 18. Aug 2004 20:00

Re: string zum array of char
 
hi,
ne leider geht das nicht
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  CharArray : array [0..254] of char;
  StringX : string[255];
begin
  CharArray := StringX;
end;
Fehlermeldung : Inkompatible Typen : Array und ShortString

glkgereon 18. Aug 2004 20:03

Re: string zum array of char
 
versuch ma ohne [255]... vielleicht isses dann kein shortstring mehr

Snoop007 18. Aug 2004 20:04

Re: string zum array of char
 
das geht ja gar net :) habs aber getestet
Fehler array und string

Robert_G 18. Aug 2004 20:24

Re: string zum array of char
 
  • Lösung 1 - Iterieren:
    Delphi-Quellcode:
      set_Length(CharArray, length(StringVar));
      for i := 0 to pred(length(StringVar)) Do
        CharArray[i] := StringVar[i];
    Es gibt bestimmt noch eine elegante Lösung, sorry ich bin irgendwie nicht mehr so vertraut mit der RTTI von Delphi32. :?


  • Lösung 2 - .Net :P
    Delphi-Quellcode:
      CharArray := StringVar.ToCharArray();

Edit : pred vergessen :oops:

Snoop007 18. Aug 2004 20:37

Re: string zum array of char
 
also scheints nur mit ner schleife zu gehen, schade
.Net hab ich Net ^^ deshalb kann ich den unteren code nicht nutzen

ok, danke euch

Shaman 18. Aug 2004 20:38

Re: string zum array of char
 
So geht's ab:

Delphi-Quellcode:
type
  PCharArray = ^TCharArray;
  TCharArray = array[0..255] of char;
var
  CharArray: TCharArray;
  S: string;
begin
  CharArray:= PCharArray(PChar(S))^;
end;
Gruss
Shaman

Edit: Den PChar kannst Du sogar weglassen

dizzy 18. Aug 2004 20:38

Re: string zum array of char
 
Über einen Cast gehts:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
type
  TCharArray = array[0..255] of Char;
  PCharArray = ^TCharArray;
var
  a: TCharArray;
  s: String;
begin
  s := 'Test';
  a := PCharArray(s)^;
  Form1.Caption := a;
end;
mit einem ShortString:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
type
  TCharArray = array[0..255] of Char;
var
  a: TCharArray;
  s: String[255];
begin
  s := 'Test';
  a := TCharArray(s);
  Form1.Caption := a;
end;
Problem hier: Es schleichen sich am Anfang und ende ein paar Zeichen ein. Hab's auf die Schnelle nicht hinbekommen dass das sauber wird, aber es kompiliert schonmal ;)

\\edit: Boah, aber Millisekunden zu lahm :)

Nothine 18. Aug 2004 20:55

Re: string zum array of char
 
es geht auch so ^^
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var A: array of Char;
    S: string;
begin
  S := 'blablabla';
  string(A) := PChar(S);
  Form1.Caption := string(A);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz