Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variablen-Namen abkürzen ? (https://www.delphipraxis.net/66687-variablen-namen-abkuerzen.html)

sunnyandy 2. Apr 2006 17:21


Variablen-Namen abkürzen ?
 
Hallo,

wenn ich aus einer Klasse heraus öfters die Funktion

frmmain.ZQuery.Sql.Text := 'blabla' der Hauptklasse aufrufe, muss ich das ja immer so ausführlich schreiben.

Oder ich mach das natürlich mit With Do...

Kann ich nicht "frmmain.ZQuery.Sql." nen zusätzlichen Namen zuweisen, so dass ich z.B. mainZQ.Text = 'fds' schreiben kann ?

Danke !

SirThornberry 2. Apr 2006 17:26

Re: Variablen-Namen abkürzen ?
 
da "frmmain.ZQuery.Sql" ein Object und somit nur ein pointer ist kannst du dies auf eine andere Pointerinstanz zuweisen. Wenn "Sql" also vom Typ TStrings ist würde das so aussehen:
Delphi-Quellcode:
var LSql: TStrings;
begin
  LSql := frmmain.ZQuery.Sql;
  LSql.Text := 'blabla';

Martin K 2. Apr 2006 17:28

Re: Variablen-Namen abkürzen ?
 
Nur so'ne Idee:
Du legst die einfach eine zusätzliche Prozedur an und übergibst das ganze als Variable:
Delphi-Quellcode:
procedure test(var mainZQ: DeinTyp);
begin
  mainZQ.Text := 'blabla';
end;

//Aufruf:
test(frmmain.ZQuery.Sql);
Bemerkung zu SirThornberry's Methode:
Abschließend müsstest du natürlich noch frmmain.ZQuery.Sql den geänderten Text zuweisen:
Delphi-Quellcode:
frmmain.ZQuery.Sql := LSql

leddl 2. Apr 2006 17:31

Re: Variablen-Namen abkürzen ?
 
Zitat:

Zitat von Martin K
Bemerkung zu SirThornberry's Methode:
Abschließend müsstest du natürlich noch frmmain.ZQuery.Sql den geänderten Text zuweisen:
Delphi-Quellcode:
frmmain.ZQuery.Sql := LSql

:gruebel: Wieso? Beide sind Pointer auf das selbe Objekt im Speicher.

SirThornberry 2. Apr 2006 17:36

Re: Variablen-Namen abkürzen ?
 
Wie "leddl" schon schrieb handelt es sich bei meiner Ausführung um einen Pointer auf ein und die Selbe Instanz des Objectes. Von daher ist keine weitere Zuweisung notwendig.

Phoenix 2. Apr 2006 22:48

Re: Variablen-Namen abkürzen ?
 
Zitat:

Zitat von sunnyandy
Hallo,

wenn ich aus einer Klasse heraus öfters die Funktion

frmmain.ZQuery.Sql.Text := 'blabla' der Hauptklasse aufrufe, muss ich das ja immer so ausführlich schreiben.

Du hast jetzt freilich nicht Deine Delphi-Version angegeben, aber in den neueren gibt es sowas wie Quelltext-Vervollständigung. Will heissen Du tippst frmm.. bis er Dir die Variable angibt, drückst enter, tippst Zq.. weiter, und er vervollständigt Dir das auch etc.

Ich würde - allein der Fehleranfälligkeit halber - solche 'Abkürzungen' über andere Variablennamen vermeiden. Mögliche Fehlerquelle: Du gibst ein Objekt über diesen Abkürzungsnamen frei. Der nächste der in dem Quellcode arbeiten muss sucht nach dem normalen Namen, findet keine Freigabe in diesem Kontext und kommt dann später auf die Idee, dieses (schon freigegebene) Objekt zu benutzen. -> Unschön.

Ich würde mich da ganz ehrlich nicht über die paar Buchstaben mehr aufregen.


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