AGB  ·  Datenschutz  ·  Impressum  







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

AnsiIndexText() funktioniert nicht

Ein Thema von DoktorD · begonnen am 4. Apr 2007 · letzter Beitrag vom 4. Apr 2007
Antwort Antwort
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#1

AnsiIndexText() funktioniert nicht

  Alt 4. Apr 2007, 07:52
Hi alle zusammen. Ich bin am verzweifeln. Und zwar funktioniert mein AnsiIndexText() irgendwie nicht, obwohl ich diese Funktion schon öfters benutzt habe.

hier mein Code:
Delphi-Quellcode:
INItext := IniFileGetVal(_strSectionName, _strBaud, '0');
      case AnsiIndexText(INItext, ['1200', '2400', '4800', '9600', '19200', '38400', '57600', '115200']) of
      0: Baudrate := 1;
      1: Baudrate := 2;
      2: Baudrate := 3;
      3: Baudrate := 4;
      4: Baudrate := 5;
      5: Baudrate := 6;
      6: Baudrate := 7;
      7: Baudrate := 8;
      else
      bReturn := False;
      end;
Ich lese aus einem Inifile zunächst den String (INItext) aus. In diesem Fall z.B. eine '2400'. Wenn ich jedoch Debugge geht er sofort aus der Funktion raus, ohne bei 1: die Baudrate zu setzen.

Woran kann das liegen?
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: AnsiIndexText() funktioniert nicht

  Alt 4. Apr 2007, 07:57
Hi DoktorD,

bist Du sicher, dass auch wirklich nur z.B. 2400 drin steht?

Du könntest mal noch ein Trim einfügen:

case AnsiIndexText(Trim(INItext), ['1200', '2400', '4800', '9600', '19200', '38400', '57600', '115200']) of
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#3

Re: AnsiIndexText() funktioniert nicht

  Alt 4. Apr 2007, 08:00
Habs mal mit Trim() probiert, geht aber auch nicht in die Funktion. Der String ist ausgelesen worden und hat den jeweiligen Wert.

Hast du vielleich noch eine Idee?

Danke für die schnelle Antwort
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: AnsiIndexText() funktioniert nicht

  Alt 4. Apr 2007, 08:05
Mag jetzt vielleicht blöd klingen, aber versuch das hier mal, hatte mir bei etwas ähnlichem auch schon mal geholfen:

case AnsiIndexText(Trim(IntToStr(StrToInt(INItext))), ['1200', '2400', '4800', '9600', '19200', '38400', '57600', '115200']) of
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#5

Re: AnsiIndexText() funktioniert nicht

  Alt 4. Apr 2007, 08:19
Habe eben nochmal rumgespielt und nun hab ich irgendwie hinbekommen, aber ich verstehe das irgendwie noch nicht.

Also wenn ich es so mache gehts:
Delphi-Quellcode:
var
  INIText : String;
  ComPort : Integer;
begin
      INItext := '3';
      case AnsiIndexText((INItext), ['1', '2', '3', '4', '5', '6', '7', '8', '9']) of
      0: ComPort := 1;
      1: ComPort := 2;
      2: ComPort := 3;
      3: ComPort := 4;
      4: ComPort := 5;
      5: ComPort := 6;
      6: ComPort := 7;
      7: ComPort := 8;
      8: ComPort := 9;
      end;
   Label1.Caption := IntToStr(ComPort);
end;

und wenn ich es so mache nicht:

Delphi-Quellcode:
var
  INIText : String;
  ComPort : Integer;
begin
      INItext := '3';
      case AnsiIndexText((INItext), ['1', '2', '3', '4', '5', '6', '7', '8', '9']) of
      0: ComPort := 1;
      1: ComPort := 2;
      2: ComPort := 3;
      3: ComPort := 4;
      4: ComPort := 5;
      5: ComPort := 6;
      6: ComPort := 7;
      7: ComPort := 8;
      8: ComPort := 9;
      end;
   //Label1.Caption := IntToStr(ComPort);
end;
Geht das nur, wenn ich den Integerwert ComPort verwende? Weil wenn ich ihn weglasse gehts nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: AnsiIndexText() funktioniert nicht

  Alt 4. Apr 2007, 08:23
Das ist möglich. Wenn es nicht gebraucht wird, wird aus rausoptimiert.

Du kannst ja mal schauen, ob vor den Codezeilen, also am Rand, kleine blaue Punkte sind. Wenn nein -> wirds rausoptimiert.
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#7

Re: AnsiIndexText() funktioniert nicht

  Alt 4. Apr 2007, 11:17
Ist tatsächlich so. Wusste ich auch noch nicht. Danke
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:45 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