Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Komisches problem mit Char, String und Integer (https://www.delphipraxis.net/71776-komisches-problem-mit-char-string-und-integer.html)

Green 20. Jun 2006 22:23


Komisches problem mit Char, String und Integer
 
also ich hab folgendes problem:

Text is ein string; Text[i] damit dann ein Char.
Jetzt will ich aus dem Text[i] ein Integer machen, wozu ich ne funktion geschrieben hab:
Delphi-Quellcode:
function CharToInt(C: Char):integer;
begin
  if C = '0' then Result := 0;
  if C = '1' then Result := 1;
  if C = '2' then Result := 2;
  if C = '3' then Result := 3;
  if C = '4' then Result := 4;
  if C = '5' then Result := 5;
  if C = '6' then Result := 6;
  if C = '7' then Result := 7;
  if C = '8' then Result := 8;
  if C = '9' then Result := 9;
end;
so und jetzt hab ich nen array of TColor, bei dem das 8. Feld so ausieht:
Delphi-Quellcode:
IrcColors[8] := rgb(255, 255,  0);
wenn ich jetzt die SelAttributes.Color so setze:
Delphi-Quellcode:
RTE.SelAttributes.Color := IrcColors[8];
dann geht das, aber sobald ich das so mache:
Delphi-Quellcode:
RTE.SelAttributes.Color := IrcColors[CharToInt(Text[i])];
gehts einfach nicht mehr, also s kommt kein fehler oder so, aber s wird einfach kein Gelb zugewiesen und Ja ich bin mir sicher das Text[i] eine ziffer von 0-9 ist, aber es geht einfach trotdem nit...

kann mir jemand erklären was ich falsch mach? ich find den fehler absolut nit...

mfG Green

mkinzler 20. Jun 2006 22:34

Re: Komisches problem mit Char, String und Integer
 
Hallo Green,

Versuche mal deine Funktion durch die Standardfunktion
Delphi-Quellcode:
IrcColors[Val(Text[i])]
oder
Delphi-Quellcode:
IrcColors[Ord(Text[i])-48]
zu ersetzen.

himitsu 20. Jun 2006 22:39

Re: Komisches problem mit Char, String und Integer
 
In deinem CharToInt hätten ein paar ELSE nicht schaden können, aber wie wäre es mit Delphi-Referenz durchsuchenStrToInt :winker:

Delphi-Quellcode:
RTE.SelAttributes.Color := IrcColors[StrToInt(Text[i])];
Aber du bist dir wirklich ganz sicher, das dort eine Zagl drin ist?
(hast es getestet ... über'n Debugger, oder 'ne MessageBox)

Green 20. Jun 2006 23:02

Re: Komisches problem mit Char, String und Integer
 
ich habs getestet über eine MB und ich bin mir 100% sicher das es ne zahl ist

Hawkeye219 20. Jun 2006 23:06

Re: Komisches problem mit Char, String und Integer
 
Hallo Green,

da wir ja deinen anderen Thread kennen: du meinst wirklich das Zeichen '8', nicht etwa das Steuerzeichen #8, oder?

Gruß Hawkeye

Green 21. Jun 2006 06:48

Re: Komisches problem mit Char, String und Integer
 
nein, das zeichen '8' is das zeichen '8' aus einem Editfeld, per hand eingegeben, bezogen.

aber was sehr komisch ist: ich habs eben nochmal probiert und es geht auch so:
Delphi-Quellcode:
RTE.SelAttributes.Color := IrcColors[8];
nicht mehr.... jetzt bin ich endgültig verwirrt :gruebel: :drunken: :gruebel: :gruebel: :drunken: :gruebel: :gruebel:

Green 21. Jun 2006 13:01

Re: Komisches problem mit Char, String und Integer
 
ok ich hab den fehler gefunden... gott war ich BLÖD... das gibts nit, ich hatte die zuweisung der farben in FormCreate, dachte ich... ich hatte sie ausversehen in PanelClick, weil ich formcreate per doppelklick aufs formular haben wollte, aber hab ausversehen doppelt aufs Panel geklickt...

sorry, mein fehler :wall: :wall: :wall: :wall: :oops:


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