AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String in Char konvertieren

Ein Thema von Chemiker · begonnen am 28. Nov 2009 · letzter Beitrag vom 28. Nov 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#1

String in Char konvertieren

  Alt 28. Nov 2009, 18:41
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
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#2

Re: String in Char konvertieren

  Alt 28. Nov 2009, 18:44
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.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: String in Char konvertieren

  Alt 28. Nov 2009, 18:45
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.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: String in Char konvertieren

  Alt 28. Nov 2009, 18:46
Warum nicht gleich:
strZeichen:= strZeichen[i]; Und welcher Fehler kommt? Eigentlich sollte das ohne Fehler compilieren. Und wann kommt der Fehler? beim compilieren oder beim ausführen?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: String in Char konvertieren

  Alt 28. Nov 2009, 18:46
Hallo Daniel G,

hatte ich schon probiert, funktioniert auch nicht.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#6

Re: String in Char konvertieren

  Alt 28. Nov 2009, 18:48
Hast du ganz sicher auch genug Zeichen im String gespeichert? Bei mir klappt dein Code wunderbar...(delphi 2005)
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#7

Re: String in Char konvertieren

  Alt 28. Nov 2009, 18:49
DAnn wäre in der Tat mal die Fehlermeldung interessant zu wissen.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#8

Re: String in Char konvertieren

  Alt 28. Nov 2009, 18:50
Vielleicht klappt
Zeichen:= copy(strZeichen(1,1);
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: String in Char konvertieren

  Alt 28. Nov 2009, 18:53
Hallo SirThornberry,

beim Ausführen.

Bis bald Chemiker
Miniaturansicht angehängter Grafiken
fehlermeldung2_127.png   fehlermeldung_115.png  
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: String in Char konvertieren

  Alt 28. Nov 2009, 18:57
Zitat von Wolfgang Mix:
Vielleicht klappt
Zeichen:= copy(strZeichen(1,1);



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
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 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