AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datenformular Oberfläche

Ein Thema von VkPenguin · begonnen am 7. Okt 2012 · letzter Beitrag vom 11. Okt 2012
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#1

Datenformular Oberfläche

  Alt 7. Okt 2012, 15:50
Guten Tag zusammen,
ich habe ein Problem mit der Oberfläche zur Eingabe von Daten in Delphi. Das Endergebnis muss ähnlich sein wie die Registrierung einer Internetseite, es soll also Felder geben, in denen man etwas eintragen kann, ich brauche aber die Kontrolle darüber, was eingetragen werden darf (Also z.B. im Feld Geburtsdatum dürfen keine Buchstaben eingegeben werden). Das Problem: Diese Felder müssen 1. dynamisch erzeugt werden können und 2. in großer Anzahl verfügbar sein.

Bisher habe ich während der Laufzeit Checkboxen/Edittextfelder usw. erstellt, das ist bei der Menge an Feldern aber nicht praktikabel. Es muss beispielsweise eine Art zweidimensionales Array aus Checkboxen geben, die man nach belieben ankreuzen kann. Das Array kann aber bis zu 1000x1000 Felder groß werden - und die dynamische Erzeugung von derart vielen Checkboxen und Edittextfeldern macht Delphi einfach nicht mit.

(Nur falls das wichtig ist: Die erstellten Komponenten werden alle in einer Scrollbox untergebracht)

Einer meiner Lösungsansätze war, Excel in Delphi einzubinden und die Felder der Tabelle zu nutzen. Das funktioniert zwar auch im Prinzip, aber dann habe ich keine Kontrolle über die Eingabe und in welche Felder der Nutzer klicken/schreiben darf. Hat jemand eine Idee, wie ich das lösen könnte?

vielen Dank schoneinmal für eure Hilfe !
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Datenformular Oberfläche

  Alt 7. Okt 2012, 16:09
Das Array kann aber bis zu 1000x1000 Felder groß werden - und die dynamische Erzeugung von derart vielen Checkboxen und Edittextfeldern macht Delphi einfach nicht mit.
Eher Windows macht hier (irgendwann) nicht mehr mit. Wenns ein Array ist würde sich eine Grid mit Inplace-Editoren anbieten. Spart ungemein GUI-Ressourcen da nur bei der aktuellen Grid-Zelle ein entsprechendes GUI-Control erzeugt werden muss.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

AW: Datenformular Oberfläche

  Alt 7. Okt 2012, 16:15
Mich würde einmal interessieren, wie lange man als Anwender braucht, um 1.000.000 Checkboxen gewissenhaft durchzuarbeiten.
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
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#4

AW: Datenformular Oberfläche

  Alt 7. Okt 2012, 16:36
@Bernhard: Danke Dir. Ressourcensparen hört sich gut an, ich habe von dem was du meinst aber noch nie etwas gehört. Kennst Du vielleicht ein Beispiel/Tutorial, das Du mir zeigen könntest, damit ich mir das mal ansehen kann?

@DeddyH: Ich weiß nicht recht wie ich das einfach erklären soll, aber im Prinzip erstellt der PC automatisch eine Art "Muster" mit diesen Checkboxen. Der Nutzer muss aber immer die Möglichkeit haben, bestimmte Felder zu ändern. 1000x1000 ist außerdem ein absoluter Extremfall, theoretisch muss es aber möglich sein. Aber du hast schon Recht: Optimal wäre es, wenn man ähnlich wie in Excel mehrere Felder mit der Maus makieren könnte.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datenformular Oberfläche

  Alt 7. Okt 2012, 17:08
Dann mach es doch wie im Excel und nimm ein DataGrid, welches CheckBoxen als Datenfelder anbietet.

Der VirtualStringTree kann sowas
oder du nimmst andere spezielle Komponenten dafür.
Tipp: Man kann Datenbankkomponenten (z.B. DBDataGrids) nicht nur mit einer Datenbank verwenden (MemoryTables/MemoryDataSets ala TClientDataSet).
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#6

AW: Datenformular Oberfläche

  Alt 7. Okt 2012, 17:11
Zitat:
Das Array kann aber bis zu 1000x1000 Felder groß werden
... kannst du mal erklären warum so viele Informationen auf einmal angezeigt werden müssen ? Wäre da nicht eine Art Wizzard, der im nächsten Schritt die Auswahlen einschränkt, nicht sinnvoller ?
  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
 
#7

AW: Datenformular Oberfläche

  Alt 7. Okt 2012, 17:15
Es müssen ja nicht wirklich Checkboxen sein.
Ein DrawGrid nehmen und dort auf den Click in ein Feld reagieren.
Die ClickInformation benutzen um in der Datenstruktur darunter den Wert festzulegen (Boolean) und anhand dieses Wertes im Drawagrid das Feld darstellen.
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
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#8

AW: Datenformular Oberfläche

  Alt 7. Okt 2012, 17:19
@Himitsu: Entschuldige bitte die dumme Frage, aber du meinst TDBGrid, oder? Hab damit nämlich noch nie gearbeitet, schaue mir das aber mal an, danke!
@Haentschman: Ich hab auch schon überlegt, ob es vielleicht anders geht, aber im Kontext des Programms wüsste ich nicht wie. Und wie gesagt, 1000x1000 ist die absolute Obergrenze, im Normalfall werden es nur ca. 100x50 sein - nur muss mein Programm ja damit zurecht kommen, falls es mal mehr wird.
@Sir Rufo: Das ist auch eine gute Idee, werde auch das mal ausprobieren, danke!

Falls zufällig aus dem Kopf ein gutes Tutorial für Grids aller Arten kennt wäre ich dafür dankbar, ansonsten such ich es mir einfach selbst zusammen, ist auch kein Problem

Geändert von VkPenguin ( 7. Okt 2012 um 17:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#9

AW: Datenformular Oberfläche

  Alt 7. Okt 2012, 17:58
Zitat:
aber im Kontext des Programms wüsste ich nicht wie.
... und genau das solltest du mal ausfühlicher erläutern. Denn keiner kann verstehen
Zitat:
im Normalfall werden es nur ca. 100x50 sein
... wie man das übersichtlich anordnet, geschweige denn bedient.

Sonst können wir dir keine Alternativen vorschlagen.
  Mit Zitat antworten Zitat
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#10

AW: Datenformular Oberfläche

  Alt 7. Okt 2012, 18:08
@haentschman: Es geht um ein Codesystem, wie es z.B. in Hotels für Türschlösser verwendet wird. Man bekommt eine Karte und kann damit bestimmte Türen öffnen. Im Programm soll man auswählen können, welche Türen welche Karte öffnen kann. Standartmäßig öffnet jede Karte die dazugehörige Tür und die Haustür, aber das kann manchmal auch anders sein. Und wenn es nunmal 1000 Türen und Karten gibt... Eigentlich sollte das aber kein Problem sein, ich bin nur sehr unerfahren mit Delphi. Momentan versuche ich zum Beispiel rauszubekommen, wie ich prüfen kann, welche Zellen einer Stringgrid makiert sind.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 15:40 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