AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MysqlTable Eigenschaften mit String ansprechen?
Thema durchsuchen
Ansicht
Themen-Optionen

MysqlTable Eigenschaften mit String ansprechen?

Ein Thema von Loewen Zahn · begonnen am 31. Aug 2012 · letzter Beitrag vom 31. Aug 2012
Antwort Antwort
Benutzerbild von Loewen Zahn
Loewen Zahn

Registriert seit: 31. Aug 2012
2 Beiträge
 
Delphi 2006 Professional
 
#1

MysqlTable Eigenschaften mit String ansprechen?

  Alt 31. Aug 2012, 10:42
Datenbank: MySQL • Version: 5.5.24 • Zugriff über: Local
Hallo,

ich bin relativ neu hier und programmiere auch erst seit kurzem mit Delphi. Vorab kann ich mir gut vorstellen das es bereits Diskussionen und Lösungsansätze zu meinem Problem gibt, jedoch habe ich wirklich nichts finden können, was noch an meinem mangelndem Verständnis/Definitionsbeschreibungen liegt.

Ich Übergebe von einem TButton, den Wert der Eigenschaft Hint (die etwas ungeschickt gewählt ist).
Dieser Wert soll z.b. 'Next' sein sodass ich ihn bei der Tabelle.next verwenden kann.

..
Pabspielen((Sender as Tbutton).hint);
..

procedure TF_MeMP.Pabspielen(SPos:String);
begin
dm_MeMP.tb_MeMP.SPos;
end;

tb_MeMP ist dabei die MYSQLTable die mit .Next .First etc ansprechen möchte. Das Problem ist natürlich das ich einen String nicht als Erweiterung für den Befehl nutzen kann, da Delphi versucht die Eigenschaft SPos zu finden. Natürlich könnte ich auch einfach nur next in die Procedure schreiben, jedoch wäre dies nicht wirklich variable.

Wie könnte ich also den 'Eigenschaftsnamen' in einem String, bei meiner Tabelle verwenden?

Danke für jegliche Interesse und Hilfe.

mfg
LoewenZahn

Geändert von Loewen Zahn (31. Aug 2012 um 10:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: MysqlTable Eigenschaften mit String ansprechen?

  Alt 31. Aug 2012, 11:05
Willkommen in der DP.

Nur habe ich ein Problem mit dem Verständnis Deiner Frage.
Du hast einen Button, mit dem Du durch eine Datenbanktabelle navigieren (prev,next) willst.
Ist das so richtig?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Loewen Zahn
Loewen Zahn

Registriert seit: 31. Aug 2012
2 Beiträge
 
Delphi 2006 Professional
 
#3

AW: MysqlTable Eigenschaften mit String ansprechen?

  Alt 31. Aug 2012, 11:16
Willkommen in der DP.

Du hast einen Button, mit dem Du durch eine Datenbanktabelle navigieren (prev,next) willst.
Vielen Dank und ja so in etwa.

Ich besitze unzählige Buttons die jeweils eine andere Funktion besitzen. So z.B.: .prior .next .last .first dazu wäre auch ein Navigator geeignet, jedoch kommt in der Procedure auch noch einiges anderes uninteressantes hinzu.

Ich möchte aber aus Interesse und Wissensdrang es so schmal programmieren das jeder Button die gleiche Procedure benutzt.

Zur Vereinfachung, 5 Knöpfe rufen alle den gleichen folgenden Ablauf auf. Aufgrund ihrer unterschiedlichen Hints oder Tags möchte ich einen Funktionsaufruf variable gestalten.

procedure Form1.btn_weiterClick(Sender: TObject);
begin
tb_MeineTabelle.next;
//will ich in etwas so aufrufen wie wenn der hint='next':
tb_MeineTabelle.(Sender as Tbutton).hint);
end;

mfg
  Mit Zitat antworten Zitat
shmia

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

AW: MysqlTable Eigenschaften mit String ansprechen?

  Alt 31. Aug 2012, 13:18
Dein Ansatz scheint mir etwas "seltsam" zu sein.
Hast du dich schon mal mit Actions und ActionLists beschäftigt?

Du könntest eine ActionList mit jeder Menge Actions anlegen.
Jede Action tut etwas ganz Bestimmtes wie z.B. einen Datensatz löschen oder zum letzten Datensatz springen.
Du kannst diese Actions deinen Buttons frei zuweisen.
Diese Verknüpfungen zwischen den Buttons und den Actions kann man auch in einer Ini-Datei speichern so dass der Benutzer selbst definieren kann welche Actions er sehen möchte und welche nicht.

Ist es das was du tun möchtest?
Andreas
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: MysqlTable Eigenschaften mit String ansprechen?

  Alt 31. Aug 2012, 14:55
Hallo,

das was Du da machen möchtest geht so nicht.

Alternativvorschlag:

Nutze nicht Hint sondern TAG. Jeder Button bekommt dort einen eigenen Wert.

Damit könntest Du eine Prozedur schreiben, die von allen Buttons aufgerufen wird und zwar in der Form:
Delphi-Quellcode:
begin
  ...
  case (Sender as tButton).Tag of
    1 : tb_MeineTabelle.next;
    2 : tb_MeineTabelle.first;
  ...
  else
    ShowMessage('Nanana, da fehlt noch die Abfrage eines Wertes.');
  end;
  ...
end;
Du wirst nicht daran vorbeikommen, für jede Aktion, die durch einen Buttun ausgelöst werden soll, den entsprechenden Quelltext zu schreiben.
[OT]
Früher, bei dBase IV konnte man das, was Du vorhast, aber noch machen. Wenn man vor eine Variabel ein & schrieb, so wurde der Inhalt der Variabel als Teil eines Befehles interpretiert. Aber die Zeiten sind (leider) vorbei [/OT]

Alternativ könntest Du natürlich auch in einer IF-Kascade alle Hintwerte abfragen und die entsprechenden Befehle implementieren. Mir erscheint die Nutzung des TAG-Wertes aber einfacher.

Actions und Actionlist solltest Du die aber unbedingt anschauen, sie helfen, Aktionen zentraler zu verwalten und sie ggls. nicht nur Buttons zuzuweisen, sondern gleichzeitg auch Menüs. Und sie haben den Vorteil, dass Du dort auch Shortcuts vergeben kannst.
  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 18:52 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