Autor Beitrag
Vamos
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Di 01.09.09 11:29 
Hallo!

Freundliche Community klingt gut, deshalb wend ich mich nach tagelanger Suche jetzt mal an euch Meister der Nullen und Einsen.

Kurze Erklärung:

Ich bin ein Delphi Noob und außer dem Schulkram damals noch nichts größeres und vor allem sinnvolles gebaut.

Zur Zeit versuche ich jedoch ein Programm für eine Schule zu schreiben, welches mehrere Räume per WakeOnLAN ansprechen kann. Soweit bin ich auch schon.

Mein Problem: In den Räumen sollen die einzelnen Rechner (6Stk-19Stk) angezeigt werden und per Checkbox abgewählt werden können, damit es möglich ist auch einzelne Rechner in einem Raum neu zu starten /herunterzufahren/ aufzuwecken.

Sinnvoll empfand ich es, die Checkboxes erst zu erstellen, wenn Sie benötigt werden: Bei 6 rechnern 6 Boxes, Bei N rechnern N Boxes.

Mein Problem ist, dass Delphi beim kompilieren keinen Fehler zeigt aber anstatt der Checkbox zu erzeigen nur das gesamte Fenster an eine andere Position des Bildschirmes rückt.

Hier der Auszug aus meinem Quellcode:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
var
F: TextFile;
S: string;
pfad, Path1, Path2, Path3: string;
a:integer;

begin

     if ListBoxRaum.ItemIndex > -1 then
     pfad:= (ListBoxRaum.Items[ListBoxRaum.ItemIndex]);
     Path1:='C:\Programme\Programmname\';
     Path2:=pfad;
     Path3:='.txt';

  
      AssignFile(F, Path1+Path2+Path3);
      Reset(F);
      a:=0;
        while not EoF(f) do
        begin
          Readln(F, S);
          ListboxRaum.Items.Add(S);
          a:=a+25;
          begin
          TCheckbox.Create(self);
            begin
              parent := self;
              left := 500;          //Fehlerhaft - Fenster springt
              top := 1 * 25;
              name := 'test';
              caption:='test';
              visible:=true;

    end;


          end;




         end;
end;


Per Array hatte ich es mal versucht, da wurden auch checkboxes erzeugt, allerdings nicht so wie es sein sollte und meine Variante fänd ich wesentlich einfacher (wenn es denn gehen würde)

Ich danke euch vielmals!

Der Neue ; )

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Di 01.09.2009 um 13:29
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Di 01.09.09 11:40 
Du wolltest bestimmt sowas schreiben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
with TCheckbox.Create(self) do
begin 
parent := self; 
left := 500; //Fehlerhaft - Fenster springt 
top := 1 * 25; 
name := 'test'; 
caption:='test'; 
visible:=true; 
end;

Wenn du einfach so ein Left := 500 schreibst, wird immer das Formular genommen. Um die Checkbox anzusprechen musst du entweder explizit Checkbox1. davor schreiben, oder eben vorher sagen, was sache ist ;)
Vamos Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Di 01.09.09 12:04 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Klasse! Danke Dir!

Nun erzeugt er mir eine Checkbox mit dem Namen des letzten rechners, der in der Liste gefunden wurde. Logigkfehler? Er sollte ja so viele Checkboxen erzeugen, wie er Rechnernamen findet :-S

Danke nochmals!

EDIT: Mein Fehler, er hat blos alle übereinander gemalt


Zuletzt bearbeitet von Vamos am Di 01.09.09 12:10, insgesamt 1-mal bearbeitet
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Di 01.09.09 12:07 
Das liegt vermutlich daran, dass alle Checkboxen an der selben Stelle erzeugt werden.
ausblenden Delphi-Quelltext
1:
2:
left := 500; 
top := 1 * 25; // hier sollte besser i* 25 stehen, und i nach jedem Erzeugen erhöht werden, oder?

_________________
We are, we were and will not be.