![]() |
Speichern und Lesen von Daten
Hallo,
Wie kann ich zahlenwerte, die ein programm ermittelt hat, ganz einfach abspeichern (die datei soll vor der ersten benutzung noch nicht existieren)? Die datei, die das programm bei der ersten benutzung quasi erstellt, soll möglichst ne txt sein, damit der user die zahlenwerte dann in der txt-datei ganz einfach nachlesen kann. Außerdem soll das programm (mit einem 2. button) die Zahlenwerte wieder aus der txt-datei auslesen können. Ach ja, es soll möglich sein, dass das programm von mehreren leuten gleichzeitig (also die exe quasi mehrfach, zur selben zeit geöffnet ist) benutzt wird und alle sowohl auslesen, als auch speichern können. Vielen danke im voraus! keybe |
Re: Speichern und Lesen von Daten
das schonmal zu Dateien erstellen
Delphi-Quellcode:
Wenn die Datei von mehreren gelesen werden soll muss du die Datei Zentral ablegen und einfach auf den Pfad der Datei verweisen
Var
TXT :Integer; if not FileExists(deinpfad + '\text.txt') then begin TXT:= FileCreate(deinpfad + '\text.txt') end; FileClose(TXT); Gruß sascha |
Re: Speichern und Lesen von Daten
danke...werds gleich mal probiern
|
Re: Speichern und Lesen von Daten
ok...also das funktioniert...danke erstmal...
wenn mir jetz noch jmd sagn könnte, wie ich in die txt datei zahlen speichern und diese dann wieder auslesen kann, wär alles super... schonmal danke im voraus mfg KeyBe |
Re: Speichern und Lesen von Daten
In welcher Form liegen die Zahlen denn vor? Hast Du eine TList, ein Array...?
|
Re: Speichern und Lesen von Daten
Genauso wie auf den Bildschirm(Konsole). Mit WriteLn()/ReadLn()
|
Re: Speichern und Lesen von Daten
naja...also das is so:
das programm is für mein gymnasium gedacht, ich soll was schreibn, womit die aktuelle schulumfrage ausgewertet werden kann... mehrere menschen füllen also (gleichzeitig) den fragebogen aus, der in einer ersten form ist. in einer zweiten form sind dann die gesamtzahlen der jeweiligen antwort, also dass immer wenn eine bestimmte antwort angeklickt wurde, die dazugehörige variable um 1 steigt (integer quasi)...ich hab dann da also ne liste mit ca. 100 variablen/zahlen, die werd ich wahrscheinlich in jeweils einem labelfeld ausgeben...und die sollen dann quasi in die txt (möglichst noch mit jeweils ein paar wörtern dazu, so dass man beim öffnen der txt auch gleich das ergebnis erkennen kann und nicht extra im programm nachschaun muss, wie das ganze zu verstehen ist). mfg KeyBe |
Re: Speichern und Lesen von Daten
ok...also einfach mit writeln() in die txt schreiben ist ja kein problem, aber wie kann ich festlegen, in welche zeile der txt das ganze geschrieben wird, und vor allem: wie kann ich einen bestimmten teil einer zeile wieder auslesen?
danke im voraus mfg keybe |
Re: Speichern und Lesen von Daten
Ich bin nicht sicher, ob ich Dich richtig verstanden habe, aber schau Dir mal TIniFile an, da hast Du ganz andere Möglichkeiten als mit einer txt.
|
Re: Speichern und Lesen von Daten
Hallo...
Zitat:
...Netzwerkzugriff auf eine TXT oder INI :gruebel: - ich schmeiße da mal eine Datenbank in die Runde. Für diesen Zweck dürfte sogar eine Paradox Tabelle reichen. - für jede Antwort einen Datensatz mit Datum, Uhrzeit, Antworttext (damit es eindeutig bleibt) - mit SQL via select count where ANTWORTTEXT = 'blabla' die Antworttexte durchzählen lassen. ...nur so als Idee, bin halt DB Fetischist :mrgreen: |
Re: Speichern und Lesen von Daten
Zitat:
|
Re: Speichern und Lesen von Daten
...ja klar. :-D
- ich wollte nur damit ausdrücken, daß es nicht gleich Oracle oder MySQL sein muß... :mrgreen: - das Projekt schätze ich eher kurzlebig sein, daher dieser Vergleich. :warn: - eine kleine Desktop DB ist besser als Paradox und BDE. :hi: |
Re: Speichern und Lesen von Daten
Zitat:
|
Re: Speichern und Lesen von Daten
...dann habe ich immer falsch gelesen :gruebel:
Zitat:
letztendlich bleibt es ein Wortspiel oder ? :-D |
Re: Speichern und Lesen von Daten
AFAIK bezeichnet man alle Einzelplatz-RDBMS als Desktop-DBs. Man kann sie zwar im Netzwerk nutzen, aber bei mehr als einer Handvoll Nutzer gleichzeitig bricht die Performance ein. Hier sollte man dann echte Client/Server-RDBMS einsetzen.
|
Re: Speichern und Lesen von Daten
...dem gibt es nichts hinzuzufügen :thumb:
|
Re: Speichern und Lesen von Daten
ähm...erstmal danke an alle!
also ich hab leider keine ahnung von datenbanken, zumindest in verbindung mit delphi (ich weiß, dass das erbärmlich ist, aba ich werkel noch nicht so lange mit delphi rum). deswegen hab ich eher nach einer lösung gesucht, bei der ich mit 'ner txt arbeiten kann... gibt es mit readln/writeln nicht die möglichkeit aus bestimmten zeilen auszulesen bzw. in bestimmte zeilen zu schreiben (danach hatte ich eigentlich gesucht)? theoretisch muss in jede zeile auch nicht mehr als eine zahl, zusätzliche wörter müssen da fürs erste nicht rein. (wenn es sogar noch die möglichkeit gibt, ohne große "umwege", aus bestimmten zeilen nur einzelne teile auszulesen, wäre ich über eine aufklärung darüber sehr erfreut!) danke im voraus mfg keybe |
Re: Speichern und Lesen von Daten
Zitat:
![]() |
Re: Speichern und Lesen von Daten
danke...werd mal reinschaun...
kann man ini dateien wie txt dateien einfach mit nem doppelklick öffnen und so auf direktem wege den inhalt erfahren? |
Re: Speichern und Lesen von Daten
Zitat:
Was ich mit der Datenbank meinte ist das Problem, welches du dir einhandelst, mit mehreren User auf eine TXT / INI lesen / schreiben. Da wäre eine Datenbank angebrachter. Zitat:
:?: gleichzeitig an einem Computer :gruebel: Bsp für ein Problem: - User1 liest die INI -- Variable X aus INI hat Wert 1 - User2 liest die INI -- Variable X aus INI hat Wert 1 - User1 keuzt die Antwort an und erhöht X um 1 --- X=2 bei User1 - User2 keuzt die gleiche Antwort an und erhöht X um 1 --- X=2 bei User2 - User1 schreibt X in die INI - User2 schreibt X in die INI Ergebnis: X in der INI =2 obwohl die Antwort 3 mal gegeben wurde. Mit einer Datenbank ist so etwas leichter auszuwerten. Du könntest auch dann leichter Deine Auswertungskriterien kombinieren. Im Prinzip kann man so etwas auch mit TXT / INI lösen. Ich finde aber ungleich komplizierter bei der Auswertung. Wenn Dein Termin nicht drängelt beschäftige Dich mal mit dem Thema Datenbank. Threads findest du hier auch für Einsteiger genug. :hi: |
Re: Speichern und Lesen von Daten
würd ich sehr gern, das thema interessiert mich schon ziemlich. aber leider fehlt mir die zeit dazu, hab nur noch eine woche :)
|
Re: Speichern und Lesen von Daten
Hallo,
bevor du irgendetwas speichern kannst, musst du dir mal Gedanken machen wie deine Daten aussehen. Du hast es zwar nicht geschrieben, aber ich vermute, dass deine Umfrage vom Typ Single Choice ist: Mehrere mögliche Antworten werden vorgegeben und man kann nur eine auswählen. Das wird eine sehr spezielle Software, die für Freeform und Multiple Choice nicht verwendet werden kann, aber das nur am Rande. Wie werden die Daten eingesammelt? Über ein einfaches Formular in einem Delphi-Programm? Warum schreibst du von gleichzeitigem Ausfüllen des Formulars? Willst du mehrere Instanzen deines Programms laufen lassen? Sollen die Daten an irgendeiner Stelle in Echtzeit ausgewertet werden? Wie verhinderst du, dass jemand mehr als einmal antwortet? Da sind noch eine Menge weitere Fragen, über die du dir Gedanken machen musst, bevor du ein brauchbares Programm für den genannten Zweck erstellen kannst. Dabei ist deine Fähigkeit Delphi-Code zu schreiben die geringste Hürde. Noch eines: Zitat:
Das wesentliche Architekturmerkmal einer Desktop-Datenbank ist die Ansiedlung der Datenzugriffsschicht auf dem gleichen Rechner, auf dem auch die Anwendung ausgeführt wird, wobei die Zugriffsmethoden statisch oder dynamisch in die Anwendung selbst (monolithisch) eingebunden werden. Konkurrierende Zugriffe im Netzwerk müssen entweder über die Sperrmechanismen des jeweiligen Dateisystems (z.B. dBase) oder einen darauf aufsetzenden Sperrmechanismus (z.B. Paradox) gesteuert werden. Bei der Client-Server-Architektur kommuniziert jede Anwendung über ein Netzwerkprotokoll mit der Verwaltungsinstanz und nur noch dieser Code wird dynamisch eingebunden. Durch die Zentralisierung der Verwaltungsfunktionen wird die bessere Skalierbarkeit erreicht. JFTR Freundliche Grüße |
Re: Speichern und Lesen von Daten
naja...für mich steht momentan das abspeichern im mittelpunkt. die andernen probleme sind zwar auch wichtig, aber in dem fall eher weniger von bedeutung, da die umfrage bereits vor einigen wochen altmodisch mit stift und papier von allen schülern ausgefüllt wurde. eigentlich war geplant, dass dann am 30.6. einige schüler (die lehrer sind anscheinend zu faul) das ganze durch zählen auswerten dürfen. deswegen möchte ich ein programm schreiben, bei dem die schüler ganz einfach das ergebnis jedes fargebogenns eintippen (geht hoffentlich schneller und fehler durch verzählen etc. sind unwahrscheinlicher), ihn also "digitalisieren". manipulation schließ ich dabei eher aus.
dabei kann man ja auch erstmal durch absprache vermeiden, dass mehrere schüler gleichzeitig ihre daten speichern, da ich vorhabe, das ganze so zu gestalten, dass erst jeder der glücklichen schüler all seine ihm zugeteilten zettel abarbeitet und sein gesamtergebnis dann erst in die txt/ini, ... speichert. es wäre also erstmal sowas wie ne beta. um ne version, die bei ner umfrage richtig und fehlerfrei benutzt werden könnte, würde ich mich dann später kümmern. |
Re: Speichern und Lesen von Daten
Hallo KeyBe,
wenn das so ist, kannst Du dir ja mal dieses Tut. ansehen. ![]() Dort wird erklärt wie man eine Datenbank mit Delphi – Bordmittel anlegt. Ist relativ schnell erstellt und vermittelt auch ein wenig Grundlagen für eine spätere richtige Datenbank. Das fertige Programm einschließlich der Daten können auf ein Stick gespeichert werden. Bis bald Chemiker |
Re: Speichern und Lesen von Daten
Hi,
Zitat:
|
Re: Speichern und Lesen von Daten
thanks @ all
@ NormanNG ja, klar, aba ich wolltes gern in eine einzelne machen, sonst kann ichs ja auch gleich in einer zweiten form abspeichern und nich extra ne ini-datei anlegen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 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