Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

String als Dateiname
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 22.02.2016, 16:09    Titel: Antworten mit Zitat

Ich bin mit Python nie so wirklich warm geworden, aber es ist recht einsteigerfreundlich und macht einen Erstkontakt mit Objektorientierung ziemlich angenehm. Für die Arbeit mit Dateien und Stringmanipulationen sind Skriptsprachen (wie Python) hervorragend geeignet; ich würde mal behaupten, das ist ihre Stärke schlechthin. Einlernen muss man sich natürlich trotzdem.

Das Einlesen von Datensätzen wird aber in allen Sprachen mehr oder weniger ähnlich ablaufen; wenn alle Datensätze gleich lang sind, kannst du direkt an die gewünschte Stelle springen, aber das wird bei dir wohl nicht der Fall sein. Dann bleibt nur, so viel von der Datei einzulesen, bis du bei der gewünschten Stelle angekommen bist (in grindstones Beispiel etwa dadurch erkennbar, dass die Datenzeile "DatensatzX" heißt).

Ansonsten noch ein anderer Vorschlag: Öffnen der zu lesenden Datei FOR INPUT z. B. mit Dateinummer 1, gleichzeitig Öffnen einer zweiten (neuen) Datei FOR OUTPUT mit anderer Dateinummer (z. B. 2). Dann kannst du gleichzeitig aus der einen auslesen und die Ergebnisse in die neue schreiben. Am Ende dann beide schließen, die alte zu lesende Datei löschen und die neuerstellte Datei umbenennen.

Zitat:
So eine vernünftige graphische Oberfläche wäre natürlich schön.

Das ist mit QBasic oder FreeBASIC allerdings deutlich leichter zu bewerkstelligen als mit einer Scriptsprache (außer du verwendest eine externe GUI; dann ist es wieder egal).
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 22.02.2016, 21:12    Titel: Antworten mit Zitat

Inzwischen auch schon einfache Sachen mit Python geschrieben (schuld daran ist ein Raspberry Pi, den sich mein Vater noch in seinen alten Tagen als neues Hobby zugelegt hat); kommt auch in der professionellen IT-Welt mittlerweilen schon an recht vielen Orten zum Einsatz, wie so mancher iX-Artikel zeigt.

Von mir ansonsten ein Beispiel, wenn auch noch nicht 100% komplett:

http://beilagen.dreael.ch/Python/Mandelbrot_2.py

Noch recht leistungsfähig ist die tkinter-GUI-Bibliothek, wo ein passender Fensterlayout schnell zusammengebaut ist, und zwar so, dass sich alles anpasst (funktioniert wie eine HTML-Tabelle, die sich auch in den Grössen anpasst).

Ansonsten arbeitet die ganze Sprache dynamisch typisiert ähnlich PHP mit dem Nachteil, dass viele Fehler erst zur Laufzeit erkennbar werden und ferner keine IDE mit Code Completion möglich ist (FreeBasic wäre dagegen bestens geeignet, z.B. auf xtext-Basis ein Eclipse-Modul zu bauen, um dort ähnlich Java auch fortlaufende Fehleranzeige, Code Completion usw. zu ermöglichen). => Aus diesem Grund würde ich also Python eher für kleinere Projekte/Aufgaben einsetzen, bei denen die Codemenge gut überschaubar bleibt.

Recht leistungsfähig sind dagegen die Listenoperationen, d.h. funktionale Programmierelemente sind bereits vorhanden, bei denen sich dann beispielsweise die Laufzeitumgebung darum kümmert, mit einigen Threads solche Operationen zu parallelisieren.

Gewöhnungsbedürftig an der Syntax: Es gibt keinerlei END-Xxx, sondern die Einrückungen sind Teil der Syntax.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Nils



Anmeldungsdatum: 24.03.2006
Beiträge: 191

BeitragVerfasst am: 22.02.2016, 23:16    Titel: Antworten mit Zitat

Wo ist mein Text hin den ich gerade geschrieben hatte ?????????? weinen
_________________
Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Nils



Anmeldungsdatum: 24.03.2006
Beiträge: 191

BeitragVerfasst am: 22.02.2016, 23:39    Titel: Antworten mit Zitat

Also nachmal!

Heureka! : zwinkern Es hat nun hingehauen! Habe mir noch eine Stunde suchen gegönnt und dann endlich alle Variablen gefunden und null- bzw. auf Anfang gestellt.

@ grindstone: Danke für Deinen Code! Den probier ich trotzdem mal. Beim auslesen will ich nach jedem ausgelesenen Datensatz den Programmdurchlauf anschließen und dann das Ergebnis ausgeben.
Oder kann man die DS geordnet in dem HS ablegen und danach die Verarbeitung vornehmen? Das ist mir noch unklar ob und wie das gehen könnte.

Offen blieben noch:

- Wie kann ich in der DosBox eine hängendes Programm stoppen ohne DB zu verlassen?

- Bei mir stellt sich DB auf 3000 Cycles ein. Wo und wie kann ich das denn erhöhen? Bei mir dauert zZ eine Rechendurchgang asn die 300 Sekunden statt 2! das ist mir ein wenig zu lange!(Ich habe DV 0.74).

- Wenn ich Code ausprobiere, dann ändere ich den am BS und starte gleich über F5. Aber nicht immer scheinen solche Änderungen angenommen zu werden. Gibts da Regeln? Heute ließ ich QB mehrfach verändert +2 oder 4 Zeilen laufen. Danach war der eingefügte Code jedesmal wieder weg. Stwt: QB das unbekannte Wesen!

@alle: Danke für Eure Mühe und Eure Hinweise zu python. Mich hat da fasziniert wie der schon am Prompt so irrsinnig umfangreiche Langzahlen ausgibt.

Ich glaube ich muss mich langsam verabschieden von QB. Nur ist mir noch nicht klar wohin. Letzthin hatte ich C++ Code vor mir. <Habe noch nicht einmal geschnallt an welcher Stelle das RK4-Verfahren aufgerufen wurde. Habs noch nicht einmal hingekriegt in einem klitzekleinen C++ prog das Zahlen ausgibt nach jeder zahl ein zeichen auszugeben. In QB ja ein Klacks!



Zusatzfrage an alle:

Kann ich in QB bestimmen wann und wie gespeichert wird. ich meine zB erst nach Abarbeitung aller Aufträge. Oder erst in den HS dann in die Platte.


grüsse


Euer Nils lachen
_________________
Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Elor



Anmeldungsdatum: 12.07.2013
Beiträge: 205
Wohnort: Konstanz

BeitragVerfasst am: 23.02.2016, 10:21    Titel: Antworten mit Zitat

Zitat:

- Wie kann ich in der DosBox eine hängendes Programm stoppen ohne DB zu verlassen?

Normalerweise mit der Tasten-Kombi "Strg+Rollen".

Zitat:

- Bei mir stellt sich DB auf 3000 Cycles ein. Wo und wie kann ich das denn erhöhen? Bei mir dauert zZ eine Rechendurchgang asn die 300 Sekunden statt 2! das ist mir ein wenig zu lange!(Ich habe DV 0.74).

Daran hab ich noch nie was verändert, müsste ich selber erst mal nachschauen.

Zitat:

- Wenn ich Code ausprobiere, dann ändere ich den am BS und starte gleich über F5. Aber nicht immer scheinen solche Änderungen angenommen zu werden. Gibts da Regeln? Heute ließ ich QB mehrfach verändert +2 oder 4 Zeilen laufen. Danach war der eingefügte Code jedesmal wieder weg. Stwt: QB das unbekannte Wesen!

Eigentlich steht jede Änderung, die innerhalb der DosBox vor genommen wird, sofort zur Verfügung, Änderungen die von außen vor genommen werden, also z.B. über den Dateimanager, werden erst nach einem neu Start übernommen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 23.02.2016, 19:38    Titel: Antworten mit Zitat

Nils hat Folgendes geschrieben:
Ich glaube ich muss mich langsam verabschieden von QB.

Gut so. Bedenke, das heutzutage MS-DOS nur noch für ganz spezielle Nischen Sinn macht, z.B. ein Bootdiskettentool mit mein Festplattenlöscher, ebenso ein Mess-PC mit Parallelport, wobei sich für letzteres auch immer mehr ein Raspberry Pi eignet (dort ist Python sehr verbreitet!).

Nils hat Folgendes geschrieben:
Nur ist mir noch nicht klar wohin. Letzthin hatte ich C++ Code vor mir. <Habe noch nicht einmal geschnallt an welcher Stelle das RK4-Verfahren aufgerufen wurde. Habs noch nicht einmal hingekriegt in einem klitzekleinen C++ prog das Zahlen ausgibt nach jeder zahl ein zeichen auszugeben. In QB ja ein Klacks!

Sonst in meiner Download-Ecke hat es auch C++-Beispiele, damals noch mit dem DJGPP entwickelte.

Ratschlag hier im Forum: Am besten direkt auf FreeBasic umsteigen. Vorteile:
- generiert direkte native Windows-.EXE-Dateien.
- lineare Speicheradressierung und damit praktisch keine Begrenzungen für grosse Arrays, in der 64-Bit-Version im Prinzip sogar so gross wie der Hauptspeicher eines heutzutage üppig ausgestatteten Servers möglich.
- Auf der einen Seite geringer Lernaufwand, weil weitgehend QB-kompatibel, auf der anderen Seite aber Dinge wie Threads und volle Objektorientierung möglich. Bei Deinem Projekt könntest Du so einerseits bestehende Codeteile praktisch so wie bisher belassen, umgekehrt ganz neue Features beispielsweise objektorientiert als Klasse implementieren.

Ansonsten auf www.freebasic-portal.de viel Dokumentation und Codebeispiele.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 23.02.2016, 23:05    Titel: Antworten mit Zitat

dreael hat Folgendes geschrieben:
Nils hat Folgendes geschrieben:
Ich glaube ich muss mich langsam verabschieden von QB.

Gut so. Bedenke, das heutzutage MS-DOS nur noch für ganz spezielle Nischen Sinn macht, z.B. ein Bootdiskettentool mit mein Festplattenlöscher, ebenso ein Mess-PC mit Parallelport, wobei sich für letzteres auch immer mehr ein Raspberry Pi eignet (dort ist Python sehr verbreitet!).

Und selbst dafür wird es dank EFI immer ungeeigneter.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elor



Anmeldungsdatum: 12.07.2013
Beiträge: 205
Wohnort: Konstanz

BeitragVerfasst am: 24.02.2016, 16:50    Titel: Antworten mit Zitat

Nochmal zur Einstellung der "CPU-Cycles": Schau mal hier rein: http://nlt-hilfe.crystals-dsa-foren.de/e107_files/downloads/dosbox.pdf.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Nils



Anmeldungsdatum: 24.03.2006
Beiträge: 191

BeitragVerfasst am: 04.03.2016, 18:29    Titel: Antworten mit Zitat

@ Elor!


Danke für Deinen Link.

Wegen Abbruch mit DB: Bei meinem LT gibt's keine Rollentaste die ich zusammen mit Strg benutzen könnte. Das Backslash hab' ich auch noch nicht gefunden.


grüsse Nils
_________________
Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Elor



Anmeldungsdatum: 12.07.2013
Beiträge: 205
Wohnort: Konstanz

BeitragVerfasst am: 04.03.2016, 19:36    Titel: Antworten mit Zitat

Vielleicht ist die Taste nur anders beschriftet? Beispielsweise kombiniert in etwa so "num scroll". Ich hab mir mal meine Tastaturen angeschaut, Deutsche und Amerikanische, da war diese Taste enthalten. Was die "back-slash"- Taste angeht, ausgehend von der Deutschen Tastatur in der Dosbox ohne "Keyb de" ist es die Routetaste.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Nils



Anmeldungsdatum: 24.03.2006
Beiträge: 191

BeitragVerfasst am: 11.03.2016, 12:44    Titel: Antworten mit Zitat

Hi Elor!

Iregndwie ist das bei mir ganz anders mit DosBox! Vlt. haben wir unterschiedliche Versionen?

Also zur Cyclengeschwindigkeit:
Die stelle ich ein bevor ich das neue LW mounte. Und zwar über Strg+F12. Da kann man von Cyclus zu Cyclus springen. Ab 20000 muss man einen Eintrag in der pif machen. Nämlich heißt es bei mir: core=dynamic. Aber ich kann da keinen Eintrag machen. da fehlt mir irgendwie die Speichererlaubnis.

Abbruch habe ich nun auch rausgefunden: Über Strg+F7 erscheint im Fensterrahmen dort im Namen "Nach X Cyclen". X ist die Anzahl der Tastendrücke auf F7. Bevor ich überhaupt wußte wie mir geschah, da war das Programm auch schon abgebrochen. Zusatz: da auf dem rechner die Fiunktionstatsen noch mit Zusatzelementen belastet sind(zB Lautstärke, Helligkeit etc) muß ich da gleichzeitig noch die Fn-Taste gedrückt halten.

grüsse Nils

lachen lachen lachen
_________________
Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Elor



Anmeldungsdatum: 12.07.2013
Beiträge: 205
Wohnort: Konstanz

BeitragVerfasst am: 12.03.2016, 11:03    Titel: Antworten mit Zitat

@Version:
Nein, ich hab auch die v0.74! Soweit ich weiß, wurde schon seit längerem keine neue Version mehr raus gegeben.

@Geschwindigkeit:
Wie ich schon erwähnt hab, hab ich mit der CPU-Geschwindigkeit noch nie was gemacht! Das mit Strg+F12 kommt mir aber (jetzt wo es da steht) irgendwie bekannt vor. Ich verwende die Dosbox aber nur wenn jemand ein QBasic Programm dort ausführt, um den Fehler rekonstruieren zu können.
Ich selber verwende den DOS Emulator, den kann man auch über das "Software Center/Packe Verwaltung" installieren, da hat man die Geschwindigkeitsprobleme gar nicht (da wird Freedos installiert).

@Tasten:
Da kann man mal sehen wie unterschiedlich sich die System verhalten, selbst wenn die gleiche Software verwendet wird. Die "Fn" Taste hab ich auch, wenn man die aber mit verwendet, wird in der Regel immer die entsprechende Funktion ausgeführt (zumindest bei mir).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
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.

 Impressum :: Datenschutz