|
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: 24.09.2015, 19:09 Titel: Umfangreiche Tabelle ... |
|
|
... platzsparend und schnell zugreifbar unterbringen.
Guten Abend Gemeinde!
Ich habe bei einem Prog Platzprobleme möchte dehalb eine Tabellenabfrage
auslagern und nur geringe Abfragecode im Prog speichern.
Ich weiß nicht mehr wie das geht.
Wäre einer von Euch so freundlich mir auf die Sprünge zu helfen?
grüsse nils _________________ Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!! |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1208 Wohnort: Ruhrpott
|
Verfasst am: 25.09.2015, 00:59 Titel: |
|
|
Stichworte: SHELL / CHAIN / EXEC / RUN / DYLIBLOAD / #INCLUDE
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Nils
Anmeldungsdatum: 24.03.2006 Beiträge: 191
|
Verfasst am: 25.09.2015, 20:14 Titel: |
|
|
@ grindstone:
Hi Ggrindstone!
Sind das nicht FB Befehle?
Geht das vlt mit data...read?
grüsse _________________ Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!! |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 25.09.2015, 20:24 Titel: |
|
|
SHELL, CHAIN und RUN gibt es auch in QBasic.
Du solltest mal dein Problem präzisieren. Was für eine Tabelle, was für Daten sind drin, wie müssen die abgefragt werden?
"Platzprobleme" deutet ja darauf hin, dass du auf die Speicherlimits für Code und Daten in QBasic stößt, und DATA wird dir da auch nicht helfen, weil dann immer noch die komplette Tabelle im RAM stehen muss. Ein Problem, das du in FreeBASIC nicht hättest... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 25.09.2015, 20:53 Titel: |
|
|
Jojo hat Folgendes geschrieben: | Ein Problem, das du in FreeBASIC nicht hättest... |
Genau, weil FreeBasic bereits als 32-Bit-Compiler bis zu 4 GB RAM linear (=ohne umständliges DEF SEG wie QB!) adressieren kann, der 64-Bit-Compiler sogar theoretisch bis zu 16 Exabyte, was bereits die Gesamtkapazität eines grösseren Rechenzentrums übersteigt. :-) Oder mit anderen Worten: Riesengrosse Array-Variablen ohne Grenzen möglich.
In QB wird wegen der 64 KB-Segmentierung (MS-DOS -> von der Intel 8088-Architektur vom IBM PC/XT übernommen!) kein vernünftiges Einlesen ins RAM möglich sein, sondern Du musst mit Diskdateien arbeiten.
Nils hat Folgendes geschrieben: | Geht das vlt mit data...read? |
Und hier ebenfalls mein Tipp: READ und DATA sind "Krücken" aus der BASIC-Urzeit! Ich empfehle Dir klar, mit Array-Konstanten zu arbeiten:
Code: | ' Beispiel mit Array-Konstanten
Type Punkt
x As Single
y As Single
End Type
Dim MITTELPKT As Const Punkt => (17.0, -23.0)
Dim tab1(...) As Const String => { "Dies", "sei", "eine", "riesengrosse", "und", "lange", _
"Tabelle", !"wof\129r", "man", !"fr\129her", "eine", "riesige", _
!"DATA-Zeilen-W\129ste", !"ben\148tigt", !"h\132tte" }
Dim tab2(...) As Const Punkt => { (6.0, 2.3), (5.7, -3.2), (1.9, 1.7), (22.4, 1.2), _
(76.3, 22.9), MITTELPKT, (18.0, 19.0) }
Dim i As Integer
ScreenRes 640, 480
Width 80, 30
For i = LBound(tab1) To UBound(tab1)
Print tab1(i)
Next i
For i = LBound(tab2) To UBound(tab2)
Print tab2(i).x; " "; tab2(i).y
Next i
Sleep |
=> es können also beliebig komplizierte Datenstrukturen abgebildet werden. Grosser Vorteil: Typenfehler bemerkt bereits der Compiler, während bei READ und DATA erst zur Laufzeit bemerkt würde, wenn eine Zahl gelesen wird, aber ein String das nächste DATA-Element darstellt.
/edit: Beispiel aufgrund eines Hinweises im internationalen Forum noch verbessert (echte Array-Konstanten ähnlich wie "final" in Java). _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
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.
|
|