Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigenschaft einer Komponente als String übergeben (https://www.delphipraxis.net/16190-eigenschaft-einer-komponente-als-string-uebergeben.html)

dan_at_5matrix 12. Feb 2004 09:38


Eigenschaft einer Komponente als String übergeben
 
Hallo,

ich habe eine Liste von Eigenschaften (einzelne Strings). Beim Anklicken eines Strings möchte ich diese Eigenschaft direkt aufrufen.

Meine Frage ist, gibt es für Eigenschaften eine ähnliche Funktion wie findComponent?

Oder eine andere Lösung.

Vorraus schon mal danke

chris 12. Feb 2004 21:27

Re: Eigenschaft einer Komponente als String übergeben
 
hi,

Zitat:

[..] ich habe eine Liste von Eigenschaften (einzelne Strings). [..]
also wie folgt?

Delphi-Quellcode:
property WasWeissIch: string read FWasWeissIch;
Zitat:

[..] Beim Anklicken eines Strings möchte ich diese Eigenschaft direkt aufrufen. [..]
was genau meinst du damit?

soll sich bei doppelklick ein editor öffnen? wie beim bearbeiten von text in einer tmemo-komponente?

dan_at_5matrix 13. Feb 2004 09:03

Re: Eigenschaft einer Komponente als String übergeben
 
Also,

Die Idee ist die folgende.

Ich darf ein Programm schreiben, das Kontakte, Termine und Aufgaben aus Outlook ausliest, und in eine Datenbank schreibt.

Momentan bin ich bei den Kontakten.

Wie ich den Inhalt eines Kontaktes auslese weiss ich. Das ist folgende Struktur:

Delphi-Quellcode:
  vNamespace:= vOutlook.GetNamespace(ns);
  vKontakte:= vNamespace.GetDefaultFolder(olFolderContacts);


  if IBDatabase1.Connected then
    begin
      for vI:= 1 to vKontakte.Items.Count do with IBStoredProc1 do
        begin
          vKontakt:= vKontakte.Items.Item(vI) as _ContactItem;

          StoredProcName:= 'PROZ_EMAIL_KONTAKT_I';
          ParamByName('BID').AsInteger:= lcID;
          ParamByName('NACHNAME').AsString:= GetValue(vKontakt.LastName);
          ParamByName('VORNAME').AsString:= GetValue(vKontakt.FirstName);
          ParamByName('EMAIL').AsString:= GetValue(vKontakt.Email1Address);
          Prepare;
          ExecProc;
          IBTransaction1.Commit;
          Close;
          vEintrag:= outlookliste.items.Add;
          vEintrag.Caption:= GetValue(vKontakt.LastNameAndFirstName);
        end;
    end;
Mein Ziel ist es, in einer ListView Punkte wie "lastname","firstname",etc anzuzeigen.
Die, die markiert sind, sollen in die Datenbank geschrieben werden. So dass die Lösung ungefähr so aussieht:
Delphi-Quellcode:
  vNamespace:= vOutlook.GetNamespace(ns);
  vKontakte:= vNamespace.GetDefaultFolder(olFolderContacts);


  if IBDatabase1.Connected then
    begin
      for vI:= 1 to vKontakte.Items.Count do with IBStoredProc1 do
        begin
          vKontakt:= vKontakte.Items.Item(vI) as _ContactItem;

          StoredProcName:= 'PROZ_EMAIL_KONTAKT_I';
          ParamByName('BID').AsInteger:= lcID;
          for vC:= 0 to ListView1.Selected.Count do
            ParamByName(listview1.selected.item[vC]).AsString:= GetValue(vKontakt.// Hier ist das Problem);
          Prepare;
          ExecProc;
          IBTransaction1.Commit;
          Close;
          vEintrag:= outlookliste.items.Add;
          vEintrag.Caption:= GetValue(vKontakt.LastNameAndFirstName);
        end;
    end
Weiß gar nicht, ob das überhaupt geht. Hab vorher mit PHP geskriptet, und da ging sowas, aber das ist ja a bisserl was anderes.

Trotzdem danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 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