|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Nils
Anmeldungsdatum: 24.03.2006 Beiträge: 191
|
Verfasst am: 11.12.2012, 20:44 Titel: Datenvergleich |
|
|
Guiten Abend Basic-Gemeinde!
Ich wollte nicht zwei Fragen in einen Fred tun, deshalb hier neu:
Ich will Daten vergleichen, die wegen ihrer Fülle nicht im HS zu halten sind unf deren Abgleich ich nicht kontinuierlich vornehmen kann, weil ich im vorhinein die Gaten nicht genau kenne.
Och müßte also wohl zwei Files speichern (welche Art? Permanent oder auch nur temporär? geht das auch mit .txt-Files?) Aber wie mache ich dann den vergleich? ich kann die Daten ja nicht alle in den Hauütspeicher laden und vergleichen. dazu sind es zu viele!
Wie macht man das denn?
Wie baut man solche Files au?
Hilfe dringend von Nöten.
Dank und guten Abend
Nils(schreibe ohne Vrille deshalb bestimmt gejlerhaft) _________________ Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!! |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 11.12.2012, 21:23 Titel: |
|
|
Wenn du die Speicherung in Dateien halten willst, musst du ständig aus den Dateien lesen und wieder hinein schteiben. Sequentieller Zugriff (FOR INPUT/OUTPUT) ist da meines Erachtens nur bedingt geeignet, weil du vielleicht mal direkt auf den hundertsten Eintrag zugreifen willst, ohne die 99 davor einzulesen. Mit einem UDT fester Größe und Zugriff FOR BINARY wärst du dann besser dran. Daten in der Mitte herauszulöschen oder mittendrin einzufügen wäre dann aber immer noch unangenehm aufwändig (nicht von der Programmierung, sondern von der Rechnerarbeit).
Wenn du nicht notgedrungen in QBasic schreiben musst, sondern ein Umstieg auf FreeBASIC möglich ist (die Sprachunterschiede sind nicht so übermäßig groß), wäre möglicherweise für deine Zwecke ein Datenbankzugriff geeigneter - mit FreeBASIC ist ein Zugriff z. B. auf eine MySQL-Datenbank kein Problem. Hängt natürlich von der genauen Aufgabenstellung ab.
http://www.freebasic-portal.de/code-beispiele/datenbanken/ _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
|
Nach oben |
|
|
Nils
Anmeldungsdatum: 24.03.2006 Beiträge: 191
|
Verfasst am: 12.12.2012, 12:57 Titel: |
|
|
@nemored: Dank für deine Antwort. Bin da noch ein bißchen sehr überfordert. UDT, hmm?
Bin mir über den Aufbau einer Datei gar nicht im Klaren. Wenn ich etwas vergleichen will, muß ich dann den 1234ten Eintrag mit dem 1234ten Eintrag der anderen Datei vergleichen?(Das passt ja nicht immer) Oder erhält jeder Eintrag ohne mein Zutun eine Adresse? Verglieche ich also die Inhalte von Adressen?
Was steckt denn da genau hinter, hinter input#1, .....
Wenn ich, wie ich es meist tue, .txt-Dateien erzeuge kann ich deren Inhalt mit QB vergleichen und muß ich dazu irgendwie besonders formatieren?
@MOD: Danke für den Hinweis an FreeBasic.
Aber falls ich umsteige, dann brauche ich etwas, was up to date ist. Wo Mann leicht Oberflächen kreieren kann. Was auf allen Systemen lauffähig ist. Genügt denn FreeBasic dafür?
Grüße aus Kalter Stadt
Nils _________________ Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!! |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 12.12.2012, 13:26 Titel: Re: Datenvergleich |
|
|
Hallo!
Nils hat Folgendes geschrieben: | Ich will Daten vergleichen, die wegen ihrer Fülle nicht im HS zu halten sind unf deren Abgleich ich nicht kontinuierlich vornehmen kann, weil ich im vorhinein die Gaten nicht genau kenne.
Och müßte also wohl zwei Files speichern (welche Art? Permanent oder auch nur temporär? geht das auch mit .txt-Files?) Aber wie mache ich dann den vergleich? ich kann die Daten ja nicht alle in den Hauütspeicher laden und vergleichen. dazu sind es zu viele! |
Wo kommen die Daten denn her und um welche Art von Daten handelt es sich? Sind es Zahlen (Temperaturen, Geldbeträge, ...) oder Zeichenketten (Namen, Autokennzeichen, ...) oder Binärdaten (Fotos, Audioaufnahmen, ...)?
Da QBasic noch aus der DOS-Ära kommt, kannst du da - ohne komplizierte Zusatztechniken wie EMS/XMS verwenden zu müssen - nur Speicher im Kilobyte-Bereich in Anspruch nehmen. Das Auslagern von aufgezeichneten Daten in externe Dateien ist daher höchstwahrscheinlich sinnvoll.
Wenn es sich um Textdaten handelt, könnte man mehrere Dateien speichern und diese entweder zeichen-, zeichengruppen- oder zeilenweise vergleichen.
Im Folgenden mal ein Beispielprogramm, mit dem man kommaseparierte Dateien zellenweise vergleichen kann: rezeptvergleich.zip (Passend zur Adventszeit mit fiktiven Backrezepten als Beispiel! )
Das Programm ist in FreeBASIC geschrieben, der Quelltext und eine EXE-Datei sind im Paket enthalten. (Mit QBasic kann ich auf dem PC hier leider kaum noch arbeiten, da sich 16-Bit-DOS-Anwendungen wie QB auf einem 64-Bit-Windows nur noch mit einem Emulator ausführen lassen.)
Screenshot des Beispielprogramms:
(Zum Vergrößern anklicken)
Nils hat Folgendes geschrieben: | Aber falls ich umsteige, dann brauche ich etwas, was up to date ist. Wo Mann leicht Oberflächen kreieren kann. Was auf allen Systemen lauffähig ist. Genügt denn FreeBasic dafür? |
FreeBASIC ist up to date. Die letzte Version ist noch relativ neu und in der nächsten Version werden die OOP-Features deutlich ausgebaut.
Die damit entwickelten Programme können unter DOS, Windows, Linux und BSD compiliert und ausgeführt werden. Lediglich eine Unterstützung für MacOS gibt es bisher nicht. Wenn du mit FreeBASIC Windows-Programme erzeugst, lassen sich diese problemlos auch unter 64-Bit-Versionen von Windows und sogar unter Windows 8 ausführen. Mit FreeBASIC kannst du, wenn dein PC hinreichend ausgestattet ist, auch ohne Weiteres 1000 MB in den Arbeitsspeicher laden. Wenn du an die Möglichkeiten davon erst mal gewöhnt bist, kannst du über die paar hundert Kilobyte RAM unter QB nur noch müde schmunzeln.
Das Erstellen von Oberflächen ist zumindest deutlich professioneller und leichter möglich als mit QBasic. Aber es ist leider trotzdem noch nicht so komfortabel wie bspw. in Java mit Netbeans+Matisse+Swing oder MS Visual C# oder Visual BASIC. Dafür jedoch nativ (im Gegensatz zu JRE/Bytecode bei Java) und plattformübergreifend (im Gegensatz zu MS-VisualStudio).
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|