AGB  ·  Datenschutz  ·  Impressum  







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

Ini-Wert nicht als string einfügen

Ein Thema von Erutan · begonnen am 28. Feb 2014 · letzter Beitrag vom 2. Mär 2014
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

AW: Ini-Wert nicht als string einfügen

  Alt 2. Mär 2014, 10:48
@Erutan

Gleich auf der ersten Seiten eines jeden Programierhandbuches, oft schon im Vorwort, aber spätestens da wo der Sinn von Prozeduren beschrieben wird, steht der Satz (mehr oder weniger): Code der sich wiederholt kann man in einer Prozedur zusammenfassen. Danach reicht es nur noch die Prozedur aufzurufen.

Soll jetzt nicht gehässig klingen, aber dein Beispiel ist geradezu ein Paradebeispiel für diese Aussage. Wo sonst als hier kann man sich viel Arbeit sparen, in dem man alles in einer Prozedur (bzw. hier Funktion) zusammenfasst. Und übersichtlicher ist es auch.

Delphi-Quellcode:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);

  function FehlerAnfrageMitMeldung(Ident, Text: String): Boolean;
  begin
    if FillForm(WebBrowser1, Ini.ReadString(ComboBoxPresseverteiler.Text, Ident, ''), Text) = False then
      ShowMessage('Fehler. Formular oder Formularfeld nicht gefunden');
  end;

  var
  ini: TInifile;
  filename: String;

begin
  //..

    {Abfrage für F1W ANFANG}
   case Ini.ReadInteger (ComboBoxPresseverteiler.Text, 'F1W', 0) of

   1: FehlerAbfrageMitMeldung('F1N', EditVorname.Text);
   2: FehlerAbfrageMitMeldung('F1N', EditNachname.Text);
   3: FehlerAbfrageMitMeldung('F1N', EditVorname.Text + ' ' + EditNachname.Text);
   4: FehlerAbfrageMitMeldung('F1N', EditAgentur.Text);
   5: FehlerAbfrageMitMeldung('F1N', EditFirma.Text);
   6: FehlerAbfrageMitMeldung('F1N', EditTelefon.Text);
   7: FehlerAbfrageMitMeldung('F1N', EditStrasse.Text + ' ' + EditNachname.Text);
   8: FehlerAbfrageMitMeldung('F1N', EditHausNr.Text);
   9: FehlerAbfrageMitMeldung('F1N', EditStrasse.Text + ' ' + EditHausNr.Text);
   10: FehlerAbfrageMitMeldung('F1N', EditEmail.Text);
   11: FehlerAbfrageMitMeldung('F1N', EditWebsite.Text + ' ' + EditNachname.Text);
   12: FehlerAbfrageMitMeldung('F1N', EditPLZ.Text);
   13: FehlerAbfrageMitMeldung('F1N', EditOrt.Text);
   14: FehlerAbfrageMitMeldung('F1N', EditPLZ.Text + ' ' + EditOrt.Text);
   15: FehlerAbfrageMitMeldung('F1N', MemoKontaktdaten.Text + ' ' + EditNachname.Text);
   16: FehlerAbfrageMitMeldung('F1N', MemoFirmenportrait.Text);
   17: FehlerAbfrageMitMeldung('F1N', EditTitel.Text);
   18: FehlerAbfrageMitMeldung('F1N', EditUntertitel.Text + ' ' + EditHausNr.Text);
   19: FehlerAbfrageMitMeldung('F1N', MemoTeaser.Text);
   20: FehlerAbfrageMitMeldung('F1N', MemoHaupttext.Text + ' ' + EditNachname.Text);
   21: FehlerAbfrageMitMeldung('F1N', EditKeyword1.Text);
   22: FehlerAbfrageMitMeldung('F1N', EditKeyword2.Text);
   23: FehlerAbfrageMitMeldung('F1N', EditKeyword3.Text + ' ' + EditOrt.Text);
   24: FehlerAbfrageMitMeldung('F1N', EditKeyword4.Text + ' ' + EditNachname.Text);
   25: FehlerAbfrageMitMeldung('F1N', MemoKeywordliste.Text);
    end ;
    {Abfrage für F1W ENDE}

   //..
end.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Ini-Wert nicht als string einfügen

  Alt 2. Mär 2014, 11:31
Und wenn man der Form ein paar published Properties spendiert, dann geht das alles mit noch viel weniger.

Delphi-Quellcode:
TMyForm = class( TForm )
private
  function GetFullName : string;
published
  property FullName : string read GetFullName;
end;

funtion TMyForm.GetFullName : string;
begin
  Result := EditVorname.Text + ' ' + EditNachname.Text;
end;
Der Zugriff erfolgt dann ganz simpel mit Delphi-Referenz durchsuchenGetPropValue

Wird also FullName benötigt, dann Value := GetPropValue( MyForm, 'FullName' ); , und da PropName ein string ist, kann man diesen Wert aus der Ini lesen und ganz easy den benötigten Wert auslesen.

Und mit Delphi 7 geht das auch
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 21: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