Avatar billede armena Nybegynder
02. april 2003 - 13:37 Der er 24 kommentarer og
1 løsning

Listview

Jeg har 2 listview på min form.

Jeg vil gerne have lavet sådan at man kan tilføje items i Listview 2 for hver item i Listview1.. Dvs. at hvis jeg klikke på en item i Listview 1 og tilføjer en item i listview 2, derefter hvis jeg så klikker på en anden item i listview 1, så er der jo 0 items der, fordi at der ikke er oprettet nogen.

Den skal så gemme de items der er oprettet i Listview 2 for hver item i Listview1.

(lidt svært at forklare)
Men hvis der er spørgsmål så spørg bare ;)

Det her er meget vigtigt for mit program, så jeg håber på hjælp.

MVH.
ALA
MSN: gn_gn_gn@hotmail.com
Avatar billede hermandsen Juniormester
02. april 2003 - 14:25 #1
Jeg forstod da bare hat af det spørgsmål!! Prøv lige igen!! :)
Avatar billede armena Nybegynder
02. april 2003 - 16:50 #2
Okay..
Det jer skal bruges til en medlems liste.
I Listview 1 har jeg nogle medlemere (jeg kan self. oprette flere). Det jeg så skal kunne er at oprette stævnmøder med de her medlem, hver for sig. Dvs. at hvis jeg klikke på en medlem der hedder Jens og vil oprette en stævnmøde med ham, oprettes der en item i Listview 2. Hvis jeg så klikker på en anden medlem som hedder Anders så har listview 2 ingen items fordi at jeg ikke har oprettet nogle stævnmøder for denne medlem.
Den skal så gemme stævnmøder(items) for hvert medlem.

Medlemmere er i Listview 1
Stævnmøder for hvert medlem er i Listview 2.

Håber at det var en bedre forklaring.. Ellers så spørg igen :)
Avatar billede siz23 Nybegynder
02. april 2003 - 16:56 #3
jeg ved ikke om jeg har forstået det.
men her er lidt kode.

håber du kan bruge det.


**********************************************************************
procedure TForm1.ListView1Click(Sender: TObject);
var
  ListItem:TListItem;
begin
    case Listview1.itemindex of
      -1: ShowMessage('ingen objector valgt');
      0:
      begin
            ShowMessage('øverste Linje');
            //slet indholdet af listview2
            ListView2.Items.Clear;
            //tilføj noget til listview2
            ListItem:=Listview2.Items.Add;
            ListItem.Caption:='test';
      end;
      1: //næste øverste object.
    end;
end;
**********************************************************************
du kan også teste på navnet istedet, men så kan du ikke bruge en case sætning.

fx.
if ListView1.ItemFocused.Caption='hest'
then DoSomething;
Avatar billede yHec Novice
02. april 2003 - 17:36 #4
Hvorfor laver du ikke dit lille datingprogram i en database? Det er da noget nemmere at manipulerer oplysningerne.

Med de rette indstillinger, vil du ikke opdage forskellen på din nuværende idé og min :-))

Desuden vil det gøre det noget lettere at tilføje og fjern 'daters'

Bare en forslaw

Y
Avatar billede hermandsen Juniormester
02. april 2003 - 18:00 #5
Okay, det var bedre!!
Det du skal kigge på er TListBox.Items.Objects[Index].

Så skal du bare oprette dine objekter for hver af dine Items...

type
  THest = class(TObject)
    Navn: String;
    Alder: Integer;
    Pony: String;
    Hale: Integer;
  end;

procedure THesteForm.AddHest(ListItem: String; Hest: THest);
var
  I: Integer;
begin
  I := ListBox1.Items.Add(ListItem);
  ListBox1.Items.Objects[I] := (THest as TObject);
end;

procedure THesteForm.HentItem;
var
  Hest: THest;
begin
  Hest := (ListBox1.Items.Objects[ListBox1.ItemIndex] as THest);
  with ListBox2.Items do
  begin
    Clear;
    Add('Navn: ' + Hest.Navn);
    Add('Alder: ' + IntToStr(Hest.Alder) + ' år');
    Add('Pony: ' + Hest.Pony);
    Add('Hale: ' + IntToStr(Hest.Hale) + ' cm.');
  end;
end;

procedure THesteForm.Button1Click(Sender: TObject);
var
  Hest: THest;
begin
  Hest := THest.Create;
  Hest.Navn := 'Eksperten';
  Hest.Alder := 14;
  Hest.Pony := 'Armena';
  Hest.Hale := 100;
  AddHest('Min egen hest', Hest);
end;

Noget i den retning...
Avatar billede armena Nybegynder
02. april 2003 - 21:50 #6
hermandsen> jeg kunne ikke lige få det til at virke.. Kunne du pakke et eksempel sammen i en zip fil og sende/lægge det ud på nettet til mig?
Kunne være meget lettere :)
Avatar billede hermandsen Juniormester
03. april 2003 - 10:10 #7
Nej!
Avatar billede armena Nybegynder
03. april 2003 - 19:47 #8
:´( kan jo ikke få det til at virke
Avatar billede hermandsen Juniormester
03. april 2003 - 23:55 #9
Hvad kan du ikke få til at virke?
Jeg vil gerne hjælpe dig, men at lave hele projektet for dig vil jeg ikke!!
Avatar billede armena Nybegynder
07. april 2003 - 14:07 #10
hermandsen> jeg kan ikke få din kode til at virke. Jeg laver et eller andet forkert, ved bare ikke hvad. Det var derfor jeg ville have et eksempel.
Avatar billede hermandsen Juniormester
07. april 2003 - 15:03 #11
Hvor får du fejl?
Avatar billede armena Nybegynder
08. april 2003 - 19:53 #12
den melder fejl ved Addhest proceduren..
Avatar billede hermandsen Juniormester
08. april 2003 - 22:09 #13
Goddag mand økseskaft!!!
Lidt mere specifikt, tak!!
Avatar billede armena Nybegynder
14. april 2003 - 13:47 #14
Hermandens> Lad os bare sige at jeg ikke kan få objekten til at virke.. Som jeg sagde melder den fejl i Addhest proceduren.. Jeg kan ikke lige sige hvad fejlen er, først om et par timer, fordi at jeg skal have skaffet delphi igen, da jeg har fået en ny computer. Men er det ikke fordi at den ikke er declared?

Du hører fra mig snart igen!
Avatar billede hermandsen Juniormester
14. april 2003 - 23:44 #15
Den er da deklæreret!!
Smid den ind under type, ligesom din TForm1 = class(TForm) osv...
Avatar billede armena Nybegynder
16. april 2003 - 21:19 #16
Har stadig ikke delphi, men jeg tror at det ER objekten jeg ikke lige kan få til at virke. Og du bruger også ListBox.. det var jo Listview?
Så jeg beder dig: Kunne du lave et eksempel hvor du bruger Listview og et hvor hele unitet er med?

Tak på forhånd.

P.s du kan få 100 point hvis du vil?
Avatar billede hermandsen Juniormester
22. april 2003 - 06:29 #17
Du skal kigge på TListItem.Data. Det er en Pointer...
TListView.Items.Item[Index].Data, og så typecaster du ellers bare...

Her er lidt om pointere:
http://www.pythia.dk/artikler/vis_artikel.php?id=18

Lidt om at typscaste:
http://www.pythia.dk/artikler/vis_artikel.php?id=20

Havde jeg nu haft god tid kunne jeg godt stykke et eksempel sammen til dig, men da det er eksamens-tid, så har jeg andre ting at tænke på...

Hvis du kan vente til en gang i næste uge, så kan jeg nok godt fikse noget til dig...

//hermandsen
Avatar billede armena Nybegynder
03. maj 2003 - 14:23 #18
hermandsen> yep, kan godt vente en uges tid ;)
Avatar billede armena Nybegynder
14. maj 2003 - 13:23 #19
hermandsen? nu er der gået lang tid :)
Avatar billede hermandsen Juniormester
15. maj 2003 - 08:39 #20
Hey, prøver lige at flække noget sammen til dig... ;)
JUBII!!! JEG HAR SOMMERFERIE!!! KUN EKSAMENER TILBAGE!!! :D
Avatar billede hermandsen Juniormester
15. maj 2003 - 09:26 #21
Så ligger der et eksempel klar... ;)
http://hermandsen.homepage.dk/listviewdata.zip

//hermandsen
Avatar billede armena Nybegynder
17. maj 2003 - 12:21 #22
Hmm det var jo ikke det jeg mente ;)
Avatar billede armena Nybegynder
17. maj 2003 - 12:26 #23
Nu vil jeg prøve at forklare rigtig godt og grundigt!!

På min form har jeg disse komponenter:
1. 2 TListViews
2. 2 TButtons

Hvis man klikker på Button 1 bliver der tilføjet en item i ListView1. Hvis man så har klikket 10 gange på Button 1, så er der jo 10 Items i Listview 1. Det jeg vil ha' hjælp til er så at når man har valgt en af den 10 items i ListView 1, fx. vælger vi den øverste item, så hvis jeg klikker på Button 2, tilføjer den en item i Listview 2. Hvis jeg så vælger den næste item i ListView 1, så er der ingen items i Listview 2, fordi at jeg kun har oprette nogle items for den øverste item i ListView 1.

Det her skal bruges til en medlems liste hvor man kan oprette stævner for hvert medlem. Medlemerene er i ListView1 og Stævnerne for hvert medlem er i ListView 2.

Stævnerne for hvert medlem skal gemmes automatisk og loades automatisk ved start.
Avatar billede hermandsen Juniormester
17. maj 2003 - 23:30 #24
Du kan vel egentlig se i mit eksempel hvordan det er gjort og så modificere det lidt... Det er ikke langt fra det du efterspørger!! ;)
Avatar billede armena Nybegynder
18. maj 2003 - 12:03 #25
man kan ikke oprette stævner for et medlem med dit eks?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester