AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi If Abrage verhält sich komisch?
Thema durchsuchen
Ansicht
Themen-Optionen

If Abrage verhält sich komisch?

Ein Thema von OrNEC · begonnen am 10. Mär 2011 · letzter Beitrag vom 10. Mär 2011
Antwort Antwort
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#1

If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 13:25
Hallo Jungs, ich hab ein Problem. Sieht euch mal diesen Code an:

Delphi-Quellcode:
const
  urlplan: array[0..3] of String = (
  '',
  'http://domain.de',
  'http://domain2.de',
  '');

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
if urlplan[ComboBox1.ItemIndex]='then
ShowMessage('leer') else ShowMessage('voll');
end;
Also egal was die arrays beinhalten bekomme ich die Message "voll", obwohl etliche arrays leer sind. Ich verstehe nicht wieso funktioniert diese Abfrage nicht?

Danke!
  Mit Zitat antworten Zitat
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 13:38
Hallo,
an dem CodeSchnipsel ist leider nicht zu erkennen, welchen Wert ItemIndex deiner ComboBox hat. Ist das etwas ausgewählt? Wenn nein, ist ItemIndex -1. Scheu doch einmal durch den Debugger auf wen Wert deines ItemIndex (oder mach 'ne Ausgabe via ShowMessage).
Ciao
Frank
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#3

AW: If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 13:47
Also an dem "ComboBox1.ItemIndex" liegt es nicht, die Werte sind richtig, also von 0 bis 3, je nach dem was ich auswähle.

Wenn ich aber ein array mit einem Wert fülle ich diesen dann abfragen, klappt das auch, also wie folgt:

Delphi-Quellcode:
const
  urlplan: array[0..3] of String = (
  '',
  'http://domain.de',
  'http://domain2.de',
  'hallo');

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
if urlplan[ComboBox1.ItemIndex]='hallothen
ShowMessage('leer') else ShowMessage('voll');
end;

Geändert von OrNEC (10. Mär 2011 um 13:50 Uhr)
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 13:57
entweder stehen in deiner Combobox nicht die gleichen strings drin, denn es funktioniert ohne Probleme!
Wie und mit was füllst du denn die Combobox?

Gruss alfold
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#5

AW: If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 14:00
Jah... also es hört sich lächerlich an, aber jetzt geht's auf ein Mal.
Keine Ahnunug woran es lag, vllt hat meine Delphi IDE nen Bug oder so....

Aber danke euch!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.068 Beiträge
 
Delphi 12 Athens
 
#6

AW: If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 15:01
Keine Ahnunug woran es lag, vllt hat meine Delphi IDE nen Bug oder so....
Wenn kein Item in der ComboBox ausgewählt ist, dann steht ItemIndex auf -1 und greift demnach auf etwas zu, welches vor deinem Array liegt.

Schalte zukünftig einfach mal die Bereichs- und Überlaufprüfung in den Projektoptionen an.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#7

AW: If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 15:33
er meinte ein paar posts weiter oben, dass die Indizes stimmen
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#8

AW: If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 15:47
Ja die Indizes haben immer gestimmt.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 16:42
Delphi-Quellcode:
const
  urlplan: array[0..3] of String = (
  '',
  'http://domain.de',
  'http://domain2.de',
  '');

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
if urlplan[ComboBox1.ItemIndex]='then
ShowMessage('leer') else ShowMessage('voll');
end;
Also egal was die arrays beinhalten bekomme ich die Message "voll", obwohl etliche arrays leer sind. Ich verstehe nicht wieso funktioniert diese Abfrage nicht?
Also ich sehe hier nur ein Array!
Und an Wunder glaube ich erst recht nicht. Was sagt denn die Bereichsüberprüfung?
(und mein Freund der Debugger?)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#10

AW: If Abrage verhält sich komisch?

  Alt 10. Mär 2011, 16:48
Jah.. ich hab mehrere Arrays, wollte sie nicht alle hier her kopieren. Hab hier natürlich die Strings gemeint, pardo.
Na ja... egal, es läuft.

Geändert von OrNEC (10. Mär 2011 um 16:53 Uhr)
  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 09:28 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