AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ListBox Namen hoch-und runterscrollen
Thema durchsuchen
Ansicht
Themen-Optionen

ListBox Namen hoch-und runterscrollen

Ein Thema von delphinee · begonnen am 13. Nov 2012 · letzter Beitrag vom 13. Nov 2012
Antwort Antwort
delphinee
(Gast)

n/a Beiträge
 
#1

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 14:22
Vielen Dank erstmal. Edit1 ist das Eingabefeld in welches man Namen einträgt, mit Button1 wird der Name per Klick in die Listbox eingetragen, Button2 ist für das verschieben der Namen nach oben und Button3 für das Verschieben der Namen nach unten.

Ich benötige Hilfe beim Programmieren von Button 3...
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 14:50
Als erstes: Dort kannst du ein Einsteiger-Tutorial runterladen, das dir hilft, die ersten Schritte mit Delphi zu bewältigen.

Vielen Dank erstmal. Edit1 ist das Eingabefeld in welches man Namen einträgt, mit Button1 wird der Name per Klick in die Listbox eingetragen, Button2 ist für das verschieben der Namen nach oben und Button3 für das Verschieben der Namen nach unten.
Dann benenne doch besser:
Edit1 ist Edit_Name
ListBox1 ist ListBox_Namen
Button1 ist But_NameEintragen
Button2 ist But_NachOben
Button2 ist But_NachUnten

Dann weißt du gleich, was dieser Button machen soll, wenn du deinen Code später mal wieder anschaust. Aber auch beim Orientieren im Quellcode ist es äußerst hilfreich, die eingesetzten Komponenten mit aussagekräftigen Bezeichnern zu versehen

Ich benötige Hilfe beim Programmieren von Button 3...
Bevor ich dir weiterhelfe, sollten wir erstmal deinen bisherigen Code durchgehen:

Delphi-Quellcode:
procedure TForm1.But_NameEintragenClick(Sender: TObject);
begin
  If zaehler < 10 then
    begin
     ListBox1.Items[zaehler]:= Edit1.Text;
     zaehler := zaehler+1;
    end;
end;
Mit dieser Methode, Strings in eine Listbox einzufügen, hagelt es Fehlermeldungen, weil der Eintrag mit dem Index [zaehler] mit großer Sicherheit noch nicht existiert. Man fügt Items hinzu, indem man die Procedure Append oder die Function Add aufruft:

ListBox_Namen.Items.Append(Edit_Name.Text); Mit Append wird einfach ein neuer Eintrag unten angehängt. Add liefert den Index des neuen Eintrags zurück. Count liefert die Anzahl aller Einträge. Hast du noch keine Einträge in der Listbox, gibt's eine Fehlermeldung, wenn du z.B. ListBox_Namen.Items[0] ansprechen willst. Um die Zählung der Einträge brauchst du dich nicht zu kümmern, das macht die Listbox automatisch.

Möchtest du die Bedingung umsetzen, daß Einträge in die Listbox nur möglich sind, solange die Anzahl der Einträge kleiner als 10 ist, schreibst du besser:

Delphi-Quellcode:
IF ListBox_Namen.Count < 10 THEN
BEGIN
...
END;
oder gleich am Anfang:

Delphi-Quellcode:
IF ListBox_Namen.Count > 9
THEN EXIT;
Damit verläßt du die Procedure, wenn die Anzahl der Einträge größer als 9 ist. Sinnvoll wäre hier auch sicher eine Message für den Anwender, damit er weiß daß und warum sein Eintrag nicht übernommen wurde:

Delphi-Quellcode:
IF ListBox_Namen.Count > 9 THEN
BEGIN
     ShowMessage('Nur 9 Einträge erlaubt!');
     EXIT;
END;

Geändert von Perlsau (13. Nov 2012 um 14:55 Uhr)
  Mit Zitat antworten Zitat
delphinee
(Gast)

n/a Beiträge
 
#3

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 14:55
Danke !! Das Programm läuft ohne Fehlermeldungen.. aber dennoch danke für deine Hilfe!
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 15:07
Danke !! Das Programm läuft ohne Fehlermeldungen.. aber dennoch danke für deine Hilfe!
Das glaube ich dir nicht! Ich hab deinen Code eben 1:1 umgesetzt und das kommt dabei heraus, wenn ich Button2 drücke:

Code:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Delphinee.exe ist eine Exception der Klasse EStringListError mit der Meldung 'Listenindex überschreitet das Maximum (8)' aufgetreten.
---------------------------
Anhalten  Fortsetzen  Hilfe  
---------------------------
Ich mag es nicht, angelogen zu werden. Unter diesen Umständen bin ich nicht bereit, dir weiterhin behilflich zu sein. Vielleicht mag dir ja ein anderer helfen ...
  Mit Zitat antworten Zitat
delphinee
(Gast)

n/a Beiträge
 
#5

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 15:12
mhm dann scheinst du irgend etwas falsch gemacht zu haben... bei mir läuft das Programm! Button2 funktioniert einwandfrei! Mein Sorgenkind ist Button3!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 15:14
Zitat:
Ich mag es nicht, angelogen zu werden. Unter diesen Umständen bin ich nicht bereit, dir weiterhin behilflich zu sein. Vielleicht mag dir ja ein anderer helfen ...
Immer diese überreaktionen.. Dann lass es doch einfach es zwingt dich niemand dazu.
Sorge einfach dafür das der "Maximale" Listenindex beim verschieben nicht überschritten wird.

gruss

Geändert von EWeiss (13. Nov 2012 um 15:23 Uhr)
  Mit Zitat antworten Zitat
delphinee
(Gast)

n/a Beiträge
 
#7

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 15:20
Danke EWeiss! :))
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 15:21
Zitat:
Ich mag es nicht, angelogen zu werden. Unter diesen Umständen bin ich nicht bereit, dir weiterhin behilflich zu sein. Vielleicht mag dir ja ein anderer helfen ...
Immer diese überreaktionen.. Dann lass es doch einfach es zwingt dich niemand dazu.
gruss
Selbstverständlich habe ich freiwillig zu helfen versucht und nicht gezwungenermaßen. Ich habe die Unit, die Delphinee gepostet hat, exakt kopiert, habe vier Buttons, eine Listbox und ein Editfeld auf der Form. Die Ereignisbehandlung von Button2, die angeblich funktioniert, habe ich eben aus "meinem" Code kopiert:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var counter: integer;
    speicher: string ;
    i: integer;
 begin
  Speicher:= Listbox1.Items[0];


 For i:= 0 to 8 do
 ListBox1.Items[i]:=ListBox1.Items[i+1];
 ListBox1.Items[9]:=speicher;
end;
Da wird ein Item mit dem Index 8 angesprochen, das zu diesem Zeitpunkt noch gar nicht existiert, wenn ich nicht vorher mindestens 9 Einträge in die Listbox eingegeben habe. Das kann nicht funktionieren! Wenn jemand was anderes behauptet, dann lügt er (oder sie). Und das mag ich nicht. Und ich nehme mir die Freiheit, das auch zu sagen, dieses Recht steht mir zu! Das ist noch lange keine Überreaktion! Und nun bin ich raus aus diesem Thread!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 15:28
Zitat:
Und ich nehme mir die Freiheit, das auch zu sagen, dieses Recht steht mir zu! Das ist noch lange keine Überreaktion! Und nun bin ich raus aus diesem Thread!
OT!

Das steht dir natürlich frei habe auch kein problem damit.
War auch nur eine spontane bemerkung von mir die jedem frei steht zu interpretieren wie er will.

Ich für meinen Teil bin da etwas ruhiger geworden und nehme solche dinge nicht so tierisch ernst.
Nichts für ungut.

gruss
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: ListBox Namen hoch-und runterscrollen

  Alt 13. Nov 2012, 18:07
Zitat:
Ich mag es nicht, angelogen zu werden. Unter diesen Umständen bin ich nicht bereit, dir weiterhin behilflich zu sein. Vielleicht mag dir ja ein anderer helfen ...
Immer diese überreaktionen.. Dann lass es doch einfach es zwingt dich niemand dazu.
gruss
Selbstverständlich habe ich freiwillig zu helfen versucht und nicht gezwungenermaßen. Ich habe die Unit, die Delphinee gepostet hat, exakt kopiert, habe vier Buttons, eine Listbox und ein Editfeld auf der Form. Die Ereignisbehandlung von Button2, die angeblich funktioniert, habe ich eben aus "meinem" Code kopiert:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var counter: integer;
    speicher: string ;
    i: integer;
 begin
  Speicher:= Listbox1.Items[0];


 For i:= 0 to 8 do
 ListBox1.Items[i]:=ListBox1.Items[i+1];
 ListBox1.Items[9]:=speicher;
end;
Da wird ein Item mit dem Index 8 angesprochen, das zu diesem Zeitpunkt noch gar nicht existiert, wenn ich nicht vorher mindestens 9 Einträge in die Listbox eingegeben habe. Das kann nicht funktionieren! Wenn jemand was anderes behauptet, dann lügt er (oder sie). Und das mag ich nicht. Und ich nehme mir die Freiheit, das auch zu sagen, dieses Recht steht mir zu! Das ist noch lange keine Überreaktion! Und nun bin ich raus aus diesem Thread!
Ich glaube nicht, dass er dich absichtlich angelogen hat! Es liegtgt eher an seiner mangelnden Erfahrung. Man sollte das m.E. einem Anfänger nachsehen.
Markus Kinzler
  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 14:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz