Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String in Char konvertieren (https://www.delphipraxis.net/144044-string-char-konvertieren.html)

Chemiker 28. Nov 2009 17:41


String in Char konvertieren
 
Hallo,
ich habe ein Problem mit der Umwandlung von Zeichen aus einem String in eine Char Variable.
Delphi-Quellcode:
var
  strZeichen: String;
  caZ: Char;
begin
  strZeichen:= copy(strNormalText,i,1);
  caZ:= strZeichen[1]; // hier kommt eine Fehlermeldung.
Woran kann das liegen? Ist mit BDS 2006 kompiliert unter Win 7 64Bit.

Bis bald Chemiker

Mithrandir 28. Nov 2009 17:44

Re: String in Char konvertieren
 
Mit einem Typecast könnte es klappen:

Delphi-Quellcode:
var
  strZeichen: String;
  caZ: Char;
begin
  strZeichen:= copy(strNormalText,i,1);
  caZ:= Char(strZeichen[1]); // hier kommt eine Fehlermeldung.

Namenloser 28. Nov 2009 17:45

Re: String in Char konvertieren
 
Was ist i? Bist du sicher, dass i initialisiert ist? Eine andere Möglichkeit ist, dass strNormalText leer ist.
Edit: Ich würd den Code einfach mal mit dem Debugger durchsteppen, dabei immer auf die werte der Variablen achten.

SirThornberry 28. Nov 2009 17:46

Re: String in Char konvertieren
 
Warum nicht gleich:
Delphi-Quellcode:
strZeichen:= strZeichen[i];
Und welcher Fehler kommt? Eigentlich sollte das ohne Fehler compilieren. Und wann kommt der Fehler? beim compilieren oder beim ausführen?

Chemiker 28. Nov 2009 17:46

Re: String in Char konvertieren
 
Hallo Daniel G,

hatte ich schon probiert, funktioniert auch nicht.

Bis bald Chemiker

alleinherrscher 28. Nov 2009 17:48

Re: String in Char konvertieren
 
Hast du ganz sicher auch genug Zeichen im String gespeichert? Bei mir klappt dein Code wunderbar...(delphi 2005)

Mithrandir 28. Nov 2009 17:49

Re: String in Char konvertieren
 
DAnn wäre in der Tat mal die Fehlermeldung interessant zu wissen. ;)

Wolfgang Mix 28. Nov 2009 17:50

Re: String in Char konvertieren
 
Vielleicht klappt
Zeichen:= copy(strZeichen(1,1);

Chemiker 28. Nov 2009 17:53

Re: String in Char konvertieren
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo SirThornberry,

beim Ausführen.

Bis bald Chemiker

Aphton 28. Nov 2009 17:57

Re: String in Char konvertieren
 
Zitat:

Zitat von Wolfgang Mix
Vielleicht klappt
Zeichen:= copy(strZeichen(1,1);

:shock:
:roll:

Chemiker, probier das mal aus:
Delphi-Quellcode:
var
  i: Integer;
  strNormalText, strZeichen: String;
  caZ: Char;
begin
  i := 1;
  strNormalText := 'ABCD';
  strZeichen:= copy(strNormalText,i,1);
  caZ:= strZeichen[1]; // hier kommt eine Fehlermeldung.
  ShowMessage( strNormalText + '[' + IntToStr(i) + '] = ' + caZ );
Ein paar Hinweise:
- Die Indizierung bei Strings fängt bei 1 an und nicht bei 0;
- i könnte bei dir nicht initialisiert / außerhalb des Wertebereiches (i < 1 oder i > Length(Str)) sein
- strZeichen könnte nach copy leer sein (Grund: voriger Hinweis ODER auch strNormalText ist leer)

MfG

Chemiker 28. Nov 2009 18:01

Re: String in Char konvertieren
 
Hallo,

danke an alle ist gelöst.

Habe jetzt eine Stunde daran rumgefummelt. Problem ist gewesen das ich eine Fehlerhafte Anweisung im Editor hatte, außerhalb des Sichtbereiches.

Bis bald Chemiker

Wolfgang Mix 28. Nov 2009 18:20

Re: String in Char konvertieren
 
... dann zeige doch 'mal jetzt bitte Deine Lösung

danke

Wolfgang

SirThornberry 28. Nov 2009 18:26

Re: String in Char konvertieren
 
Die bisherigen Dinge waren doch die Lösung laut seiner Aussage. Denn das Problem trat durch eine Anweisung außerhalb des gezeigten/sichtbaren Bereiches auf.

Wolfgang Mix 28. Nov 2009 18:31

Re: String in Char konvertieren
 
verpennt :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 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