AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Welche schreibweise ist besser , mit oder ohne Variablen
Thema durchsuchen
Ansicht
Themen-Optionen

Welche schreibweise ist besser , mit oder ohne Variablen

Ein Thema von rocksoft · begonnen am 22. Jun 2004 · letzter Beitrag vom 7. Jul 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#11

Re: Welche schreibweise ist besser , mit oder ohne Variablen

  Alt 23. Jun 2004, 17:54
Zitat von negaH:
Besser ist es die Feld Komponenten zur Laufzeit zur Table anzulegen. Die bringt mehr Performance, ist stimmiger zum OOP Konzept, Tpysicherer und für Anfäger besser zu verstehen. Der Source sähe dann so aus:[...]
*möööp*
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von rocksoft
rocksoft

Registriert seit: 7. Mär 2003
54 Beiträge
 
Delphi XE5 Professional
 
#12

Re: Welche schreibweise ist besser , mit oder ohne Variablen

  Alt 23. Jun 2004, 21:35
Vielen Dank für die ganzen antworten, aus den 2 möglichkeiten sind es jetzt 5 geworden.

- a)
- b)
- c) mit konstanten
- d) MachDies(Table1Text1.AsString, Table1Text2.AsString, Table1Text2.AsString);
- e) *möööp*

meine meinung die beste (für mich) ist die variante c), b) und d) ist gleich nur die schreibweise ein wenig anderes, und bei e) die muss echt gut sein nur leider bekomme ich nur errors

also Danke für die Hilfe
Robert
--
mfg Robert
  Mit Zitat antworten Zitat
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#13

Re: Welche schreibweise ist besser , mit oder ohne Variablen

  Alt 23. Jun 2004, 22:22
Von deinem ersten post kannst du ja auch schreiben: (reine optik sache)
Delphi-Quellcode:
procedure Tform.BtnOkClick(Sender: TObject);
begin
functionmachdies(table1.FieldValues['Text1'],
                 table1.FieldValues['Text2'],
                 table1.FieldValues['Text2'])
end;
und schon ist es so übersichtlich wie b) von deinem ersten post
  Mit Zitat antworten Zitat
Benutzerbild von rocksoft
rocksoft

Registriert seit: 7. Mär 2003
54 Beiträge
 
Delphi XE5 Professional
 
#14

Re: Welche schreibweise ist besser , mit oder ohne Variablen

  Alt 23. Jun 2004, 22:35
Hallo StefanDP,

mensch was ein paar Tabs ausmachen, ja so ist es wirklich schön zu lesen.

Danke
Robert
--
mfg Robert
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#15

Re: Welche schreibweise ist besser , mit oder ohne Variablen

  Alt 23. Jun 2004, 23:37
Zitat:
b) und d) ist gleich nur die schreibweise ein wenig anderes
Nein eben nicht. Alle Methoden sind gleich bis auf d.)
Während alle Methoden langsam, dynamisch und fehlerträchtig sind ist die methode d.) über zur Designzeit angelegte Field-Komponenten übersichtlich, wesentlich schneller, typsicher und universeller.

Angenommen wir möchten ein DBGrid nutzen und ein Fließkomma Datenbankfeld extra formatieren und eine extra Konvertierung der Eingaben durchführen. Man legt dann zum DateSet alle Feldkomponenten an. Innerhalb dieser Feldkomponenten besteht nun die Möglichkeit über .DisplayFormat den Inhalt den Datenbankfeldes im DBGrid zu formatieren. Nun möchte man noch zusätzliche Konvertierungen berücksichtgen was ganz einfach über die Ereignisse der Fieldkomponente möglich ist. Dies geht ALLES nicht wenn man wie oben dynamisch auf die Felder einer DB zugreift, bzw. es ist sinnlos dynamisch auf die Felder zuzugreifen wenn man schon Field Komponenten angelegt hat.
Zb. eine Tabelle enthält 50 Datenbankfelder. Wenn man wie oben dynamisch darauf zugreift so muß die DB-VCL per Stringvergleiche im Durchschnitt 25 Strings vergleichen -> nämlich die Feldnamen des gesuchten Feldes mit den Feldnamen in der DB. Im obigen Falle wären also ca. 75 Stringsvergleiche bei 50 Datenfeldern nötig. Legt man aber zur Designzeit Feldkomponenten an und greift über .AsString zur Laufzeit auf deren Inhalte zu so stellt dies ein DIREKT Zugriff dar, also ohne Feldnamen's -Vergleichen.

Somit unterscheidet sich mein Vorschlag von allen anderen gravierend. Er ist NICHT die beste Lösung für dein Problem mit einer besseren Source-Formatierung, sondern er stellt DIE beste Lösung im gesammten dar, wenn man mit DataSets + Fields arbeiten will.


Gruß Hagen
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#16

Re: Welche schreibweise ist besser , mit oder ohne Variablen

  Alt 7. Jul 2004, 23:45
Ich stimme Hagen zu, sofern der Code wiederholt und die Entwicklung durch die IDE (zum durch den Formulardesigner) unterstützt wird. Sollten die Referenzen selbstständig angelegt werden müssen (zB weil die Feldbezeichnungen erst zur Laufzeit bekannt sind) und sollte der Code nur einmal ausgeführt werden, ist der zusätzliche Aufwand für die Verarbeitung wohl ungerechtfertigt.

Für diesen Fall schlage ich eine Variante der von StefanDP gezeigten Lösung vor
Delphi-Quellcode:
procedure Tform.BtnOkClick(Sender: TObject);
begin
  with Table1 do
    FunctionMachDies(FieldValues[Field0], FieldValues[Field1], FieldValues[Field2]);
end;
wobei Field0, Field1, Field2 Variablen oder Konstanten sind.
gruß, choose
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:11 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