AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Kompon. StringGrid, Zellen für verschied. Typen mit overload
Thema durchsuchen
Ansicht
Themen-Optionen

Kompon. StringGrid, Zellen für verschied. Typen mit overload

Ein Thema von EccoBravo · begonnen am 14. Nov 2006 · letzter Beitrag vom 14. Nov 2006
Antwort Antwort
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#1

Kompon. StringGrid, Zellen für verschied. Typen mit overload

  Alt 14. Nov 2006, 16:47
Hallo,

wer hat sich nicht schon mal darüber geärgert, daß sein Quellcode durch Typenwandlung für I/O in ein StringGrid oder TEdit unnötig lang wird?

Ich will mir aus TEdit und TStringGrid neue Komponenten erzeugen, die ihren Daten I/O
(TEdit.Text, TStringGrid.Cells[i,j]..) nicht nur über den Typ "String" ausüben
sondern auch mit "Integer" oder "Single" mit verschiedenen Rundungen machen.
Dieses will ich mittels Methoden Overload machen.

Bei TEdit glaube ich das auch zu verstehen.
Wie ist es aber mit TStringGrid, der Daten I/O ist ja zellselektiv und soll es auch bleiben.
Ich müßte ja eine Methode "2. Ordnung" überladen?

Weiß jemand wie das geht?

Danke,

E. B.

PS:
Will schnell noch ergänzen:
ich will den Datenaustausch über
TEdit.Text --> String, Single, Integer..
und über
TStringGrid.Cells[i,j] --> String, Single, Integer..


also über die schon bekannten Methoden.

Danke nochmals
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Kompon. StringGrid, Zellen für verschied. Typen mit over

  Alt 14. Nov 2006, 17:36
Zitat von EccoBravo:
wer hat sich nicht schon mal darüber geärgert, daß sein Quellcode durch Typenwandlung für I/O in ein StringGrid oder TEdit unnötig lang wird?

Ich will mir aus TEdit und TStringGrid neue Komponenten erzeugen, die ihren Daten I/O
(TEdit.Text, TStringGrid.Cells[i,j]..) nicht nur über den Typ "String" ausüben
sondern auch mit "Integer" oder "Single" mit verschiedenen Rundungen machen.
Dieses will ich mittels Methoden Overload machen.
Ich glaube nicht, dass diese Vorgehensweise so viel bringt.
Ich würde die Controls so lassen wie sie sind und stattdessen eine Brücke bauen.
so als Anregung:
Delphi-Quellcode:
TStringGridAdapter = class(TComponent)
   ....
   property StringGrid:TStringGrid;
   property CellsAsInteger[x,y:integer]:integer;
   property CellsAsDatetime[x,y:integer]:TDatetime;
   ...
end;
Um dieser Adapter zu benützen ist später etwas mehr Aufwand nötig, als wenn du TStringGrid direkt ableiten würdest.
Aber die Vorteile (funktioniert mit TStringGrid und allem was davon abgeleitet ist) wiegen diese kleine Unannehmlichkeit auf.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#3

Re: Kompon. StringGrid, Zellen für verschied. Typen mit over

  Alt 14. Nov 2006, 17:40
Hallo und Danke,

ich bin ja für alles offen, Brücke.. das habe ich irgend wo schon mal gehört, und zwar bei Entwurfsmustern, was ist eigentlich unter solch einer Brücke zu verstehen ?
Und warum geht das andere Überladen eigentlich nicht ?

Danke und Grüße
E. B.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Kompon. StringGrid, Zellen für verschied. Typen mit over

  Alt 14. Nov 2006, 18:00
Zitat von EccoBravo:
ich bin ja für alles offen, Brücke.. das habe ich irgend wo schon mal gehört, und zwar bei Entwurfsmustern, was ist eigentlich unter solch einer Brücke zu verstehen ?
Und warum geht das andere Überladen eigentlich nicht ?
Properties dürfen ja auch Parameter haben; dass sind dann Array-Properties wie z.B. TStringGrid.Cells[].
Überladen wäre nur dann möglich, wenn sich die Parameter in Anzahl und/oder Datentyp unterscheiden würden.
Im folgenden Beispiel kann der Compiler nicht entscheiden, welche Variante zu verwenden ist.
Delphi-Quellcode:
property Cells[x,Y:integer]:string; overload;
property Cells[x,Y:integer]:Integer; overload; // nicht erlaubt
property Cells[s:string]:integer; overload; // das wäre denkbar, aber wohl nicht sinnvoll
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#5

Re: Kompon. StringGrid, Zellen für verschied. Typen mit over

  Alt 14. Nov 2006, 18:05
Das habe ich mir beinahe gedacht,
Da finde ich die Brückenlösung schon besser.

Aber nun noch die dumme Frage, was eigentlich das Brückenmuster ist und darstellt?

Grüße

E. B.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Kompon. StringGrid, Zellen für verschied. Typen mit over

  Alt 14. Nov 2006, 18:14
Zitat von EccoBravo:
Aber nun noch die dumme Frage, was eigentlich das Brückenmuster ist und darstellt?
Brücke und Adapter sind zwei verschiedene Dinge (aber frag mich jetzt nicht nach dem Unterschied )
Das skizzierte Hilfsobjekt ist wohl ein Adapter.
Schau mal auf: http://www.dotnetpro.de/articles/fre...-Interface.pdf (106k)
vielleicht bringt das etwas Klarheit.
Andreas
  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 19:51 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