(Typisches?) Anfängerproblem - ListBox bleibt leer

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
LazGreenhorn
Beiträge: 7
Registriert: Do 7. Feb 2013, 20:01

(Typisches?) Anfängerproblem - ListBox bleibt leer

Beitrag von LazGreenhorn »

Hallo!
Seit ungefähr 1.5 Wochen bin ich stolzer Besitzer der Lazarus IDE. Seitdem probiere ich aus, arbeite mich durch Tutiorials, lese passende Bücher etc. um das Programmieren mehr oder weniger zu lernen. Mit den Grundlagen meine ich mich gut auszukennen, bin aber jetzt nicht mehr so sicher. Deshalb poste ich hier einfach mal meine Frage, hoffe, dass ich im richtigen Thema bin und sage mit diesem (meinen ersten) Beitrag 'Hallo Lazarusforum!'
Ich arbeite daran, eine Art 'Spielstand' in einer ListBox zu speichern, bzw. den Titel, über den ich dann auf die Daten zugreifen kann. Um das Programm etwas ansehnlicher zu machen, habe ich mehrere Forms/Formulare/wie auch immer.
In einer Form (fmHauptmenue) befindet sich eine ListBox mit dem einfallsreichen Namen ListBox1. In einer anderen Form (fmSpielstandErstellen) gibt es ein Editorfeld mit dem klingenden Titel 'edSpielerName'.
Meine Frage: Ich möchte den Text aus edSpielerName in die ListBox1 einfügen:

Ich speichere edSpielerName.Text in einer String-Variablen varSpielerName.

Wie kann ich jetzt den Text aus varSpielerName, der nur in fmSpielstandErstellen vorhanden ist, in der anderen Form fmHauptmenue benutzen?

Bzw.:

Wie kann ich eine Variable aus Unit2 in Unit1 verwenden?

Irgendetwas stimmt bei mir nicht, die ListBox bleibt leider leer... :cry:

Könnte (oder kann, das klingt selbstbewusster) mir irgendjemand bei meinem Problemchen helfen?
Ich bedanke mich schonmal im Voraus!
Danke!

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: (Typisches?) Anfängerproblem - ListBox bleibt leer

Beitrag von Bauer321 »

erstmal muss die unit unter uses eingebunden sein.

Und dann geht das ganze z.B. so: Form.ListBox...
www.mcpatcher.net | www.hoeper.me

LazGreenhorn
Beiträge: 7
Registriert: Do 7. Feb 2013, 20:01

Re: (Typisches?) Anfängerproblem - ListBox bleibt leer

Beitrag von LazGreenhorn »

Das löst mein Problem nicht... Etwas, was ich mir angewöhnt habe, ist, sämtliche Units in sämtlichen Units unter uses zu erwähnen.
Gibt es noch etwas, was man beachten muss?

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: (Typisches?) Anfängerproblem - ListBox bleibt leer

Beitrag von Scotty »

Willkommen Greenhorn!
Du brauchst Zugriff auf die Klasse, in der edSpielerName genutzt wird bzw. Zugriff auf die unit (was das gleiche ist), wenn du dort den Wert in eine globale Variable varSpielerName überträgst (da kann ich deine Beschreibung nicht mehr nachvollziehen). Du kannst alle Variablen im Scope public lesen und beschreiben.

Ich würde empfehlen, bessere Bezeichner zu benutzen und das Problem stärker einzugrenzen. Dein ganzer Ansatz klingt sehr umständlich.

Code: Alles auswählen

unit unit1;
uses   
  Classes, SysUtils, Forms, Controls, Graphics..., unit2;
type
  (Klasse_unit1)=class(...)
 
procedure (Klasse_uni1).Button1Click();
begin
  ListBox1.Items.Add((Klasse_unit2).edSpielerName.Text);
 

LazGreenhorn
Beiträge: 7
Registriert: Do 7. Feb 2013, 20:01

Re: (Typisches?) Anfängerproblem - ListBox bleibt leer

Beitrag von LazGreenhorn »

Danke, Scotty!
Ich habe eine neue Anwendung nur mit den beiden Formen und der Listbox erstellt, mich dabei an deinen Vorschlag gehalten. Hat geklappt :) Dann wieder in die 'richtige' Anwendung eingebaut, und jetzt funktioniert's...
Ich verstehe bloß noch nicht, warums bei mir nicht geklappt hat... Naja, ist ja jetzt auch egal :lol:
Nochmal Danke!

Antworten