ListBox Namen hoch-und runterscrollen
Hallo, meine Aufgabe war es ein Programm zu erstellen, in welchem man Namen in die Listbox eintragen und beliebig hoch-bzw runterscrollen kann. Das hochscrollen und eintragen in die Liste habe ich schon bewältigt.. bei dem Rest bräuchte ich allerdings Hilfe! Hilfeee :O
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; Button2: TButton; Button3: TButton; Button4: TButton; Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Edit1Change(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Original: array [0..9] of string; zaehler: integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin If zaehler < 10 then begin ListBox1.Items[zaehler]:= Edit1.Text; zaehler := zaehler+1; end; end; 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; procedure TForm1.FormCreate(Sender: TObject); begin zaehler:= 0; end; procedure TForm1.Edit1Change(Sender: TObject); var counter :integer; begin Button2.Visible:= false; Button3.Visible:=false; Button4.Visible:=false; Edit1.SetFocus; If Edit1.Text = '' then begin Edit1.Visible:= false; Button1.Visible:=false; Button2.Visible:= true; Button3.Visible:=true; Button4.Visible:=true; end; end; procedure TForm1.Button3Click(Sender: TObject); var counter: integer; speicher: string ; i: integer; begin ??? end; procedure TForm1.Button4Click(Sender: TObject); begin ??? end; end. |
AW: ListBox Namen hoch-und runterscrollen
Zitat:
1. Benutze doch bitte die Delphi-Tags, wenn du Code ins Forum stellst (das Icon mit dem Delphi-Helm). 2. Verwende aussagekräftige Variablen-Bezeichner, so daß jeder, der deinen Code sieht, sofort weiß, was Button1 oder Button2 tun sollen. 3. Welcher Rest? Was ist dein Problem? |
AW: ListBox Namen hoch-und runterscrollen
Eine vorerst etwas unscharfe Anmerkung:
Schau Dir mal an - ListBox.Items.Count - ListBox.Items.Add - ListBox.Items.Delete genauer an. Damit solltest Du schon weiter kommen... PS. Herzlich willkommen noch! |
AW: ListBox Namen hoch-und runterscrollen
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... |
AW: ListBox Namen hoch-und runterscrollen
Als erstes: Dort kannst du ein Einsteiger-Tutorial runterladen, das dir hilft, die ersten Schritte mit Delphi zu bewältigen.
Zitat:
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 Zitat:
Delphi-Quellcode:
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:
procedure TForm1.But_NameEintragenClick(Sender: TObject);
begin If zaehler < 10 then begin ListBox1.Items[zaehler]:= Edit1.Text; zaehler := zaehler+1; end; end;
Delphi-Quellcode:
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.
ListBox_Namen.Items.Append(Edit_Name.Text);
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:
oder gleich am Anfang:
IF ListBox_Namen.Count < 10 THEN
BEGIN ... END;
Delphi-Quellcode:
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:
IF ListBox_Namen.Count > 9
THEN EXIT;
Delphi-Quellcode:
IF ListBox_Namen.Count > 9 THEN
BEGIN ShowMessage('Nur 9 Einträge erlaubt!'); EXIT; END; |
AW: ListBox Namen hoch-und runterscrollen
Danke !! Das Programm läuft ohne Fehlermeldungen.. aber dennoch danke für deine Hilfe!
|
AW: ListBox Namen hoch-und runterscrollen
Zitat:
Code:
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 ...
---------------------------
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 --------------------------- |
AW: ListBox Namen hoch-und runterscrollen
mhm dann scheinst du irgend etwas falsch gemacht zu haben... bei mir läuft das Programm! Button2 funktioniert einwandfrei! Mein Sorgenkind ist Button3!
|
AW: ListBox Namen hoch-und runterscrollen
Zitat:
Sorge einfach dafür das der "Maximale" Listenindex beim verschieben nicht überschritten wird. gruss |
AW: ListBox Namen hoch-und runterscrollen
Danke EWeiss! :))
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 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