AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Objekte zu einer Stringliste bearbeiten

Ein Thema von idefix2 · begonnen am 23. Dez 2011 · letzter Beitrag vom 23. Dez 2011
Antwort Antwort
Seite 2 von 2     12
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.262 Beiträge
 
Delphi 2006 Professional
 
#11

AW: Objekte zu einer Stringliste bearbeiten

  Alt 23. Dez 2011, 13:49
Moin idefix,

probier' doch mal die Variable pi anders zu benennen.
Vielleicht kommt der Compiler da ins Stolpern, denn so heisst ja auch die Konstante für die Zahl PI.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#12

AW: Objekte zu einer Stringliste bearbeiten

  Alt 23. Dez 2011, 18:44
Zitat:
kann es sein dass TTrade auch eine Property Paare hat?
nein, alle Properties von TTrade beginnen mit einem kleinen t (vorbeugend, damit in einem with-Statement keine Verwechslungen möglich sind

Zitat:
probier' doch mal die Variable pi anders zu benennen.
Habe pi auf pidx umgetauft - gleiches Ergebnis.

  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.459 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Objekte zu einer Stringliste bearbeiten

  Alt 23. Dez 2011, 19:03
Mich irritiert, dass der Compiler Paar für einen String hält. Außerdem scheint das "end." am Dateiende zu fehlen (es sei denn, es handelt sich um einen Folgefehler, da kommen ja auch schon einmal die komischsten Meldungen).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#14

AW: Objekte zu einer Stringliste bearbeiten

  Alt 23. Dez 2011, 19:57
Danke, jetzt habt ihr mich doch noch auf die Spur gebracht, man kann es wirklich nie schlau genug machen. Sir Rufo hatte eigentlich schon die richtige Idee, und dank DeddyH's
Zitat:
Mich irritiert, dass der Compiler Paar für einen String hält
hab ich es jetzt (glaube ich, muss es noch ausbessern, aber das wars wohl).

Eben zur Vermeidung von derartigen Mehrdeutigkeiten habe ich allen Properties von TTrade ein t vorgesetzt, und war deshalb ganz sicher, dass mir da nichts passieren kann:

Delphi-Quellcode:
 
TTrade = class(TObject)
  tPaar: string;
  tStartzeit, tEndzeit: TDate; //Aktueller Trade
  tLevel: byte;
  tKaufen: boolean;
  tLot: real;
  tKaufkurs: real;
  tVkkurs: real;
  tErfolg: real;
  end;
und jetzt gibt es erst recht eine Property tPaar und einen Klassennamen TPaar.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#15

AW: Objekte zu einer Stringliste bearbeiten

  Alt 23. Dez 2011, 20:05
...vorbeugend, damit in einem with-Statement keine Verwechslungen möglich sind
Gerade deshalb soll man auf 'WITH' verzichten. Muss man nicht, sollte man aber.

Es schadet doch nicht, den Objektnamen voranzustellen. im Gegenteil, man weiß gleich, wer gemeint ist.

Geschütze d.h. nicht sichtbare Feldnamen wird ein 'f' vorangestellt. Ansonsten hüte dich vor Präfixen, außer bei Typen, Exceptions und Interfaces.

Geändert von Furtbichler (23. Dez 2011 um 20:07 Uhr)
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#16

AW: Objekte zu einer Stringliste bearbeiten

  Alt 23. Dez 2011, 20:40
Zitat:
Gerade deshalb soll man auf 'WITH' verzichten.
Das musste jetzt natürlich kommen. Bloss dürfte man dann auch keine Klassenmethoden programmieren, weil jede Klassenmethode beinhaltet ein implizites with.

Zitat:
Es schadet doch nicht, den Objektnamen voranzustellen
Wenn das Objekt ein Array-Element ist, kann es sogar der Performance schaden (meistens nicht wichtig, u.U. aber doch), weil bei jedem Zugriff eine neuerliche Adressberechnung gemacht wird. Bei Verwendung von with sollte der Compiler wenn möglich die Basisadresse in einem CPU-Register behalten.

Zitat:
Ansonsten hüte dich vor Präfixen, außer bei Typen, Exceptions und Interfaces.
Warum? Vor dem präfix t werde ich mich in Zukunft sicher hüten, da kann wirklich leicht etwas passieren. Bei Exceptions und Interfaces halte ich die Gefahr eines Namenskonflikts für eher gering - werde sie aber in Zukunft natürlich im Hinterkopf behalten. Von diesen Sonderfällen abgesehen finde ich, dass die Verwendung von Präfixen ein Programm in der Regel deutlich lesbarer macht.
  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
 
#17

AW: Objekte zu einer Stringliste bearbeiten

  Alt 23. Dez 2011, 21:21
ei jo, vor allem weil Delphi bei der CodeCompletion für Variablen-Felder (bei Properties) in einer Klasse ein F (=Field) verwendet.

Ich versuche folgende Logik bei der Verwendung zu benutzen:
Delphi-Quellcode:
type
  TFoo = class
  private
    fMyValue : string;
  public
    procedure FooMethod;
    property MyValue : string read fMyValue write fMyValue;
  end;

implementation

ressourcestring
  sMyValue = 'MyValue';

const
  cMyValue = 'MyValue';

var
  gMyValue : string; // unit-global Variable

procedure TFoo.FooMethod;
var
  lMyValue : string; // local Variable
begin
  fMyValue := cMyValue;
  lMyValue := cMyValue;
  gMyValue := cMyValue;
end;
Aber als Präfix das t zu verwenden kam mir eigentlich noch niemals in den Sinn
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
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf