AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Scrollbox: Drei komponenten zur laufzeit hinzufügen ?
Thema durchsuchen
Ansicht
Themen-Optionen

Scrollbox: Drei komponenten zur laufzeit hinzufügen ?

Ein Thema von mimi · begonnen am 4. Sep 2005 · letzter Beitrag vom 10. Sep 2005
Antwort Antwort
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

Scrollbox: Drei komponenten zur laufzeit hinzufügen ?

  Alt 4. Sep 2005, 16:52
Hallo,
ich möchte aus einer Text Datei drei Komponenten zur laufzeit hinzufügen die Datei sieht so aus:
Zitat:
Autor,EMail,Hompage,
Autor2,EMail2,Hompage2,
dazu habe ich folgenden qullcode geschrieben:
Delphi-Quellcode:
procedure TForm2.LoadInfo;
var
  Daten:TStringList;
  i:Integer;
  bf:TBevel;
  hl,hl2:TJvHotLink;
  hp,email:String;
begin
  Daten:=TStringList.Create;
  Daten.LoadFromFile(GetExeDir + 'infoList.txt');
  for i:=0 to Daten.Count-1 do begin
    hl:=TJvHotLink.Create(Form2); // HP
    hl.Parent:=ScrollBox1;
    hl.Caption:='Hompage von: ' + GetToken(Daten.Strings[i],',',1);
    hl.Url:=GetToken(Daten.Strings[i],',',3);
    hl.AutoSize:=False;
    hl.Left:=5;
    hl.Top:=5+(i*13);
    hl.Width:=253;
    hl.Height:=13;
    hl.Visible:=True;

    hl2:=TJvHotLink.Create(Form2); // E-Mail
    hl2.Parent:=ScrollBox1;
    hl2.AutoSize:=False;
    hl2.Caption:='E-Mail von: '+ GetToken(Daten.Strings[i],',',1);
    hl2.Url:=GetToken(Daten.Strings[i],',',2);
    hl2.Left:=5;
    hl2.Top:=hl.Top+15;
    hl2.Width:=253;
    hl2.Height:=13;
    hl2.Visible:=True;

    bf:=TBevel.Create(Form2);
    bf.Parent:=ScrollBox1;
    bf.Left:=5;
    bf.Top:=hl2.Top+15;
    bf.Width:=253;
    bf.Height:=9;
    bf.Shape:=bsTopLine;
    bf.Visible:=true;
    ShowmEssage(Daten.Strings[i]);
// FreeAndNil(hl2); FreeAndNil(hl); FreeAndNil(bf);
  end;
end;
Der Fehler ist folgender jetzt:
es sollen drei komponenten(bf:TBevel; hl,hl2:TJvHotLink)
hinzugeüfgt werden. und dies 2 mal das heißt bei zwei einträgen in der Textdatei müste ich 6 komponenten haben das habe ich nicht, ich habe nur 5 weil beim ersten durchgang wird aus irgeneinen grund die e-mail komponente nicht hinzugefügt. das sieht dann so aus:
Zitat:
Hompoage von: Autor
Hompoage von: Autor2
E-Mail von: Autor2
--------------------------
aber es sollte so ausehen:
Zitat:
Hompoage von: Autor
E-Mail von: Autor
--------------------------
Hompoage von: Autor2
E-Mail von: Autor2
--------------------------
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?

  Alt 4. Sep 2005, 19:23
Moin,

ich habe keine Ahnung was da nicht geht. Allerdings ist mir das so auch viel zu unübersichtlich programmiert und nicht leicht erweiterbar.
Du solltest dir mal Frames ansehen, damit kann man soetwas viel eleganter lösen.

Ich habe mal ein Beispiel angehängt, hoffe es hilft dir...

MfG
Thorsten
Angehängte Dateien
Dateityp: zip frames_141.zip (2,2 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?

  Alt 7. Sep 2005, 13:57
Vielen dank, werde ich mir mal ansheen.
Ich hatte mit Frams erst einmal was versucht und das ging nicht, weil die ereignise nicht ausgelöst wurden abwohl sie zugewiesen waren !
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?

  Alt 7. Sep 2005, 14:09
vielen Dank.
ich habe das beispiel angepasst und es geht so wie ich es haben möchte *FREU**FREU*
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?

  Alt 7. Sep 2005, 18:13
Geht leider doch nicht so wie ich es mir vorgestellt hatte: wie bei meinem ersten verusch: ereignisse werden nicht ausgeführt
ich habe ein label und zwei TJvHotLink genommen und es wird nichts gestartet obwohl es in einem normalen formual funtkioniert... woran lieg das ?
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?

  Alt 7. Sep 2005, 20:46
Habe nochmal ein Beispiel angehängt (mit Ereignis)

Dieses Problem, mit den Ereignissen, hatte ich auch schon öfter.
Meine Vorgehensweise ist dann immer folgende:

In dem Formular, indem der Frame eingebunden wird klickst du auf z.B. einen Button, dann wird die Ereignisprozedur angelegt. Dort steht dann inherited... drin. Diese Deklaration der Ereignisse ist natürlich sehr unschön. Deshalb löscht du dann einfach wieder die inherited-Zeile.
Dann sollte wieder die Ereignisroutine im Frame benutzt werden. Und das ist dann das was du ja eigentlich haben möchtest. Warum das manchmal passiert weiss ich leider nicht.

MfG
Thorsten
Angehängte Dateien
Dateityp: zip frames_729.zip (2,3 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?

  Alt 7. Sep 2005, 23:21
ich habe herrausgefunden, wenn ich bei den frams das ereignis fokuscontrol zuweise geht zwar die ereignise aber die besagte komponenten geht immer noch nicht.
Das was im Beispiel gezeigt wurde habe ich auch hinbekomme, aber die komponenten von den JVCL die auf ein TForm funktioniert und bei einem Fram nicht. geht immer noch nicht...evtl. weiß ja ein andre eine lösung.
aber vielen dank mit dem TIP Frame... nur schade das es einen hacken hat. evlt geht es auch auf meine weise, wenn mir da nochmal jeammd ein tip geben kann...
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?

  Alt 10. Sep 2005, 17:06
weiß keiner eine lösung ?
ich möchte "einfach nur" 4 komponenten nacheinander erzeugen und das in einer forschleife.....

was mache ich in den oben gezeigten code falsch ???
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  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 22:52 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