![]() |
with - Anweisung in C++
Hi DP'ler,
ich muss ein bißchen crossover programmieren und einige Sachen aus Delphi in C++ portieren. So auch eine Datenbankanwendung. Ich habe also ein Datenmodul mit Table und Datasource. wenn ich nun in Delphi darauf zugreifen will geht das ja so:
Delphi-Quellcode:
in C++ schreibe ich bisher so:
with Data.Table1 do
begin Append; FieldByName('Name'):='Meier'; post; end;
Code:
bei vielen Feldern ist das nervig und teilweise unübersichtlich. gibt es in C++ auch die Möglichkeit so wie mit einer with - Anweisung zu arbeiten?
Data->Table1->Append();
Data->Table1->FieldByName("Name")="Meier"; Data->Table1-Post(); sorry, es ist 20Jahre her, dass ich aktiv Ansi-C programmiert habe. mfg BrunoT |
Re: with - Anweisung in C++
Nö, gibt's nicht. Du kannst es mit einem neuen Zeiger höchstens etwas kürzer machen:
Code:
Tabelle tab = voellig->umstaendlich->und->lang->diese->ewigen->indirektionen->zur->tabelle;
tab->Append(); ... |
Re: with - Anweisung in C++
Hi Oxmyx,
danke für die schnelle Antwort, das mit dem extra-Zeiger werde ich mal ausprobieren. Da gibt es aber noch ein gleichgelagertes Problem, welches ich bisher mit with erschlagen hatte: Bei TeeChart hatte ich bisher so eine Konstruktion:
Delphi-Quellcode:
Hier wird ja ein Typ erzwungen, wie bei
with Serie as TLineSeries do
Begin Serie.Marks.Visible:=false; Serie.YValue[Anz-1]:=p; end;
Delphi-Quellcode:
wie löst man das in C++?
with Tcomponent as TButton do
(Nicht meckern, wegen neuer Frage- neuer Thread, Ist ja das selbe Problem, sorry) mfg BrunoT |
Re: with - Anweisung in C++
Da gibt's mehrere Möglichkeiten.
Code:
static_cast nimmt keine Typprüfung vor.
static_cast<TLineSeries*>(Serie)
Code:
reinterpret_cast konvertiert einen Zeiger in einen anderen Zeiger, ist aber ebenfalls nicht typsicher.
reinterpret_cast<TLineSeries*>(Serie)
Code:
dynamic_cast nimmt eine Typprüfung vor und ist somit typsicher.
dynamic_cast<TLineSeries*>(Serie)
|
Re: with - Anweisung in C++
Thanks Oxmyx,
habe erst jetzt Zeit gefunden zu antworten. Ich habe mir die Hinweise ausgedruckt und werde dem nachgehen. (ich lobe mir Delphi) mfg BrunoT |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 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