AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi "Offline" TDataSet (Erledigt) --> MemoryData
Thema durchsuchen
Ansicht
Themen-Optionen

"Offline" TDataSet (Erledigt) --> MemoryData

Ein Thema von Fellmer Lloyd · begonnen am 27. Apr 2004 · letzter Beitrag vom 27. Apr 2004
Antwort Antwort
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#1

"Offline" TDataSet (Erledigt) --> MemoryData

  Alt 27. Apr 2004, 09:28
Hi!

Ich habe wieder einmal eine seltsame Frage

Ich möchte als Funktionsparameter ein TDataSet übergeben, das nicht mit einer Datenmenge verknüpft ist.
Gründe:
-Die Funktion soll eine Dynamische anzahl Felder erhalten
-Die Felder können von beliebigem Typ sein (Variant, Fieldtype etc.)
-Die Anzahl Datensätze soll Dynamisch sein (Tabelle)
-Die Funktion soll DB-Unabhängig sein

Ich will also eine Tabelle als Parameter übergeben.
Die Tabelle ist immer sehr klein (2*2 bis ca. 12*4).

Ein TDataSet kann ich nicht verwenden, da ich ja keine Datenbank verknüpft habe.

Meine Frage:
Ist es möglich, eine Tabelle "im Speicher" zu erstellen und als Parameter an eine Funktion zu übergeben?
Es sollte sich nach möglichkeit um ein unabhängiges Format handeln.

Ich habe mir bereits überlegt, dazu eine eigene Klasse zu schriben (Array of Fields und ein Array mit Datensätzen), doch das würde mich natürlich viel Zeit kosten.

...Oder bin ich wieder einmal auf dem Holzweg?

Danke fürs Grübeln
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: "Offline" TDataSet

  Alt 27. Apr 2004, 09:32
Schau mal hier (bei Torry), da sind verschieden DB Export/Import/Offline Komponenten. Es sollte mind. eine dabei sein, dir Dir hilft

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
shmia

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

Re: "Offline" TDataSet

  Alt 27. Apr 2004, 09:45
Du möchtest eine Memory-Table oder Memory-Dataset Komponente haben.
Es gibt diverse Freeware Komponenten dieser Art; z.B. in RX-Lib und
in JVCL.
Oder auch einzeln: kbmmemtable
Andreas
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#4

Re: "Offline" TDataSet

  Alt 27. Apr 2004, 09:47
Es geht um eine Import funktionen:

Code:
[Zu importierendes File]
          |
          |
          V
    Importprozedur
          |
          |
          V
    Eigene Klasse
Ich will bei allen Importprozeduren (ca. 6) die gleiche Schnitstelle, nämlich eine Tabelle (DataSet).
Die Prozeduren sollen die Werte mit ihren Typen und Namen Liefern.
Bei Torry gibt es diverse Komponente die ein Dataset in etwas anderes umwandeln, das will ich aber nicht.
Ich will ein Dataset "füllen", und übergeben.

Ich hoffe ich habe mich einigermassen klar ausgedrückt.

Gibt es vieleicht eine ähnliche klasse wie DataSet, die man füllen kann?
(So eine Art StringGrid, mit verschiedenen FeldTypen)

Aber danke für den Link!

[EDIT] Ich werde mir die MemTables ansehen, danke!

Eledigt: Die Komponente TJvMemoryData erfüllt meine Anforderungen.
Das Package ist auf www.delphi-jedi.org erhältlich.
  Mit Zitat antworten Zitat
shmia

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

Re: "Offline" TDataSet

  Alt 27. Apr 2004, 10:04
Zitat von Fellmer Lloyd:
Gibt es vieleicht eine ähnliche klasse wie DataSet, die man füllen kann?
(So eine Art StringGrid, mit verschiedenen FeldTypen)
Der Vater (=Basisklasse) aller Tables, Queries und Memorytables ist TDataset.
Wenn du einer Procedure ein Objekt der Klasse TDataset übergibst, dann spürt die Procedure
keinen Unterschied, ob es sich um TTable, TQuery, TADOTable, TADODataset, TADOQuery, RxMemoryDataset oder sonst einer von TDataset abgeleiteten Komponente handelt.
Es gibt aber doch einen Unterschied:
Ein Objekt der Klasse TTable kann ohne Datenbank nicht geöffnet werden; eine Memory-Table
aber sehr wohl. Also brauchst du definitiv eine Memory-Table.

Andererseits möchte die Memory-Table auch mit Daten gefüllt werden
(Bei einer Memory-Table kannst du zur Entwicklungszeit nur die Feldnamen/Datentypen festlegen).
Hier kommen die Import/Export Komponenten ins Spiel, die dir Sakura genannt hat.
Ein Import-Komponente liest z.B. eine Datei im Fixed-ASCII Format und spiechert die
Daten in einem von TDataset abgeleiteten Objekt.
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 16: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