AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Listbox <-> Listenindex überschreitet das maximum
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox <-> Listenindex überschreitet das maximum

Ein Thema von Daradon · begonnen am 20. Jun 2004 · letzter Beitrag vom 20. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
Daradon

Registriert seit: 20. Jun 2004
21 Beiträge
 
#1

Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:38
Hi

mein erster post... gleich zum thema
Ich habe ein OnClick in meiner Listbox .. nun wenn items eingetragen sind aber man klickt ins "leere" dann bekomm ich logischerweise diese meldung, gibt es eine möglichkeit diese zu unterdrücken da sie mehr als nervig für den endanwender ist.

Daradon
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:40
Ja, mit itemindex kannst du überprüfen, ob ein element überhaupt ausgewählt ist. Ist ItemIndex -1, ist keines ausgewählt, ansonsten ist es der Index des Elements (beginnend mit 0)

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:41
Du kannst bevor Du auf die Listbox zugreifst testen ob TListBox.ItemIndex verschieden -1 ist.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Daradon

Registriert seit: 20. Jun 2004
21 Beiträge
 
#4

Re: Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:46
vielleicht klingt die frage zu newbie haft das man sie sich nicht genau durchließt... es geht darum .. ich habe 3 einträge drinnen, und dann klickt man nicht auf einen eintrag sondern ins leere .. und schon hat man die fehlermeldung.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:49
Zitat von Daradon:
vielleicht klingt die frage zu newbie haft
Stimmt.

Wenn ich bei einer ListBox ins leere klicke hat Itemindex den Wert -1.
Deshalb schreibe ich auch:
Code:
If Listbox.ItemIndex<>-1 then
  ShowMessage(ListBox.Items[Listbox.ItemIndex])
Damit wäre der Fehler verschwunden.

Ohne Source kann ich nix weiter dazu schreiben.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:51
itemindex -1 bedeutet wenn KEIN EINTRAG(= '') da steht und man draufklickt

hoffe das hilft
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:53
Zitat von Daradon:
.... und dann klickt man nicht auf einen eintrag sondern ins leere .. und schon hat man die fehlermeldung.
Hmmm... bei mir kommt da keine Fehlermeldung! Was genau hast Du denn in deinem .OnClick stehen?

Ach ja, bevor ich es vergesse:

"Herzlich Willkommen in der Delphi-PRAXIS".
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Daradon

Registriert seit: 20. Jun 2004
21 Beiträge
 
#8

Re: Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:54
Delphi-Quellcode:
procedure TForm1.ListBox1Click(Sender: TObject);
var
  help : Integer;
  list,prefix : TStringList;
begin
list := TStringList.Create;
prefix := TStringList.create;

//ShowMessage(IntToStr(ValueListEditor1.RowCount));

if help = 0 then
begin
ValueListEditor1.InsertRow('Titel:','',true);
ValueListEditor1.InsertRow('Speicher1:','',true);
ValueListEditor1.InsertRow('Speicher2:','',true);
ValueListEditor1.InsertRow('Speicher3:','',true);
ValueListEditor1.InsertRow('Text:','',true);
ValueListEditor1.InsertRow('Url:','',true);
ValueListEditor1.InsertRow('Username:','',true);
ValueListEditor1.InsertRow('Passwort:','',true);
help := 1
end
  else
    begin
      List := GetContentByRange(listbox1.Items[Listbox1.itemindex]);
      ValueListEditor1.Values['Titel:']:=GetPureStr(List[0]);
      ValueListEditor1.Values['Speicher1:']:=GetPureStr(List[1]);
      ValueListEditor1.Values['Speicher2:']:=GetPureStr(List[2]);
      ValueListEditor1.Values['Speicher3:']:=GetPureStr(List[3]);
      ValueListEditor1.Values['Text:']:=GetPureStr(List[4]);
      ValueListEditor1.Values['Url:']:=GetPureStr(List[5]);
      ValueListEditor1.Values['Username:']:=GetPureStr(List[6]);
      ValueListEditor1.Values['Passwort:']:=GetPureStr(List[7]);
      end;
end;
also .. die listbox is eine übersichtsliste von einträgen die sha1 verschlüsselt in einer datei liegen, klickt man nun auf einen eintrag , holt sich die box die daten aus der datei und übergibt sie in einen valuelisteditor. Nun .. wenn ich jetzt z.b 4 einträge drinnen habe .. und auf den leeren teil der liste klicke kommt natürlich sofort der fehler (was mir auch absolut klar ist warum). Nun ist es aber nervig wenn das dem benutzer dauernt passiert, deswegen suche ich nach einer möglichkeit das nur einträge angeklickt werden können und nicht die ganze komponente anklickbar ist.

Hoffe ihr versteht mich jetzt


p.s:
Zitat:
"Herzlich Willkommen in der Delphi-PRAXIS".
danke
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:58
Hallo
Delphi-Quellcode:
procedure TForm1.ListBox1Click(Sender: TObject);
var
  help : Integer;
  list,prefix : TStringList;
begin
If ListBox1.ItemIndex=-1 then Exit; // Schreib das mal dazu

list := TStringList.Create;
prefix := TStringList.create;

//ShowMessage(IntToStr(ValueListEditor1.RowCount));

if help = 0 then
begin
ValueListEditor1.InsertRow('Titel:','',true);
ValueListEditor1.InsertRow('Speicher1:','',true);
ValueListEditor1.InsertRow('Speicher2:','',true);
ValueListEditor1.InsertRow('Speicher3:','',true);
ValueListEditor1.InsertRow('Text:','',true);
ValueListEditor1.InsertRow('Url:','',true);
ValueListEditor1.InsertRow('Username:','',true);
ValueListEditor1.InsertRow('Passwort:','',true);
help := 1
end
  else
    begin
      List := GetContentByRange(listbox1.Items[Listbox1.itemindex]);
      ValueListEditor1.Values['Titel:']:=GetPureStr(List[0]);
      ValueListEditor1.Values['Speicher1:']:=GetPureStr(List[1]);
      ValueListEditor1.Values['Speicher2:']:=GetPureStr(List[2]);
      ValueListEditor1.Values['Speicher3:']:=GetPureStr(List[3]);
      ValueListEditor1.Values['Text:']:=GetPureStr(List[4]);
      ValueListEditor1.Values['Url:']:=GetPureStr(List[5]);
      ValueListEditor1.Values['Username:']:=GetPureStr(List[6]);
      ValueListEditor1.Values['Passwort:']:=GetPureStr(List[7]);
      end;
end;
Achtung: Du musst am Ende des Event-Handlers list und prefix noch freigeben !!!
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Listbox <-> Listenindex überschreitet das maximum

  Alt 20. Jun 2004, 17:59
Zitat von Daradon:
....und auf den leeren teil der liste klicke kommt natürlich sofort der fehler ....
Hai Daradon,

bei mir (Delphi 7) wird das OnClick-Ereigniss nicht ausgelöst wenn ich auf den "leeren Teil" eine ListBox klicke. Nur wenn ich auch wirklich einen Eintrag auswähle!
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  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 14:02 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