Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi StringToChar???? (https://www.delphipraxis.net/11124-stringtochar.html)

Addy007 31. Okt 2003 13:12


StringToChar????
 
Hallo,

ich hab da mal ne kleine Frage an euch:

Und zwar, wie bekomme ich einen einzelnen String in nen Char umgewandelt.
Also sowas wie StrToChar.

Oder besser wäre noch wenn man gleich den ganzen String in einzelen Chars zerlegen könnte.

Also z.B. einen String "1520" in ein Chararray legen, dass dann das ganze zum schluss so aussieht:
Array[0] = 1
Array[1] = 5
Array[2] = 2
Array[3] = 0

Ich hoffe Ihr könnt mir weiterhelfen, irgendwie stehe ich gerade auf'm Schlauch 8)

greetz
Addy

mirage228 31. Okt 2003 13:16

Re: StringToChar????
 
Delphi-Quellcode:
var
  s: string;
  c: char;
begin
  s := 'Dies ist ein Test';
  c := s[5]; // Dem Char das 5 te Zeichen vom String übergeben
end;
mfG
mirage228

Addy007 31. Okt 2003 13:18

Re: StringToChar????
 
Many Thanks :-D

Dass es so einfach ist, haut mich jetzt vom Hocker :roll:

Naja ich sollt öfters mit Delphi machen, dann wärs leichter :oops:

greetz
Addy

Christian Seehase 31. Okt 2003 13:30

Re: StringToChar????
 
Moin Addy,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Eine Variante hätte ich noch, funktioniert aber nur mit ShortStrings:

Delphi-Quellcode:
type
  TMyRecord = record
    case boolean of
      true : (sValue : string[10]);
      false : (cValues : array [0..10] of char);
  end;

var
  mr : TMyRecord;

begin
  mr.sValue := '0123456789';
  ShowMessage(mr.cValues[3]);
end;
Bei solchen Varianten Teilen in Records wird immer der gleiche Speicherbereich angesprochen, nur über verschiedene Namen, und Typen.
Da ein ShortString indirekt immer ein Längenbyte mitführt ist belegt er immer ein Byte mehr als man Länge angibt, deshalb muss das array of char auch 11 Byte lang sein.

Addy007 31. Okt 2003 16:04

Re: StringToChar????
 
Danke dir,

aber ich hab noch ne kleine Frage:

Wie bekomme ich eine BYTE-Variable in eine CHAR-Variable umgewandelt.

Also besser gesagt, die BYTE-Variable wird zum zählen verwendet.
Und dieser Wert soll dann aber als CHAR ausgegeben werden.
Also keine ASCII Hex oder Dezi Werte in der BYTE-Variable.
Sondern nach dem Schema A := A + 1;
Der Char sollte dann auch den gleichen Wert enthalten, also z.B. 3 mal gezählt, Char '3' ausgeben

Ich hoffe Ihr versteht was ich meine !!
Und danke schon mal für die Hilfe :oops:

greetz
Addy

himitsu 31. Okt 2003 16:09

Re: StringToChar????
 
Meinst's jetzt so was wie IntToStr?

Wenn man aber deinen vorherigen Bsp. folgt, dürfte das schon reichen:
Delphi-Quellcode:
Var B: Byte;
  C: Char;
  B := Byte(C);
Achtung: '8' + 3 wird dann aber zu ';'

Basic-Master 31. Okt 2003 16:13

Re: StringToChar????
 
z.b. so:
Delphi-Quellcode:
var
  s: string;
  c: char;
  b: byte;
begin
b := 3;
s := inttostr(b);
c := s[1];
end;

Addy007 31. Okt 2003 16:13

Re: StringToChar????
 
Ja schon irgendwie, aber ein ByteToChar gibbets ja in Delphi net wirklich.

Und dann hätte man das Problem, dass dann der Wert im BYTE als ASCII Wert genommen wird, dann stimmt aber der Char net.

Also was ich noch sagen wollte, logischerweiße können dann nur Chars von 1-9 benutzt werden den ein zweistelligen Char gibts ja net.

Mir gehts ja auch nur um diese kleinen Zahlenraum.

greetz
Addy

Addy007 31. Okt 2003 16:16

Re: StringToChar????
 
Jo genau dank die Basic-Master 8)

greetz
Addy

Christian Seehase 31. Okt 2003 23:52

Re: StringToChar????
 
Moin Addy,

für künftige Fälle, diesmal ist es wohl durchgerutscht:
Wenn Du eine neue Frage hast mache dafür bitte einen neuen Thread auf.
Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.

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