AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

formular daten an memo übergeben...

Ein Thema von Headi · begonnen am 16. Dez 2005 · letzter Beitrag vom 18. Dez 2005
Antwort Antwort
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#1

Re: formular daten an memo übergeben...

  Alt 17. Dez 2005, 13:59
Hmm, möglich ist es immer noch, aber es büßt einiges von seiner Eleganz ein
Delphi-Quellcode:
  function GetValue(AControl: TControl): string;
  begin
    // So und jetzt wird es hässlich:
    // Jeweils für das spezifische Control den richtigen Text raussuchen:
    Result := '';
    if (AControl is TEdit) then begin
      Result := (AControl as TEdit).Text;
      exit;
    end;
    if (AControl is TMemo) then begin
      Result := (AControl as TMemo).Text;
      exit;
    end;
    if (AControl is TCombobox) then
      if (AControl as TCombobox).ItemIndex <> -1 then begin
        Result := (AControl as TCombobox).Items[(AControl as TCombobox).ItemIndex];
        exit;
      end;
    end;
const Prefixes: array[0..???] of string = ('Name', 'Vorname', 'Straße', ...);
var i,j:integer;
begin
  j := 0;
  for i := 0 to (Groupbox1.ControlCount - 1) do // Controls in Groupbox1 durchlaufen
    with Groupbox1 do
      if (Controls[i] is TEdit) or
         (Controls[i] is TMemo) or
         (Controls[i] is TCombobox) then begin // Jetzt auf drei Sachen testen
        AddBBCode(Prefixes[j], GetValue(Controls[i])); // Die Funktion von oben aufrufen um den jeweils richtigen String zu erhalten
        inc(j); // Und nächstes mal den nächsten Prefix-String nehmen
      end;
end;
Zitat:
nicht unbedingt alle edit felder in einer groupbox nacheinander kommen
Ich verstehe leider nicht ganz, wie du das meinst. Aber falls es sich auf die Zuordnung mittels des j bezieht, könntest du in der Tag-property des jeweiligen Controls die passende Index-Position im Prefix-Array speichern, also z.B. Edit1 ist für den Namen und hat Edit1.Tag = 0, Edit2 ist für den Vornamen und hat Tag = 1, Combobox1 ist für die Straße und hat Tag = 2 etc.
Dann sähe die entsprechende Zeile so aus:
AddBBCode(Prefixes[Controls[i].Tag], GetValue(Controls[i])); // Wenn ja, mit der Prozedur von jim_raynor hinzufügen Um direkt abzuspeichern welche Komponenten überhaupt überprüft werden fällt mir jetzt nichts elegantes ein. Normalerweise packe ich solche Dinge immer in ein konstantes Array (wie oben das Prefix-Array), aber das funktioniert hier natürlich nicht.
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  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 15:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz