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:

Wie erstelle ich folgendes Programm ?

 
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
Star69



Anmeldungsdatum: 13.05.2005
Beiträge: 5

BeitragVerfasst am: 13.05.2005, 23:06    Titel: Wie erstelle ich folgendes Programm ? Antworten mit Zitat

Hallo, erstma vorweg: vor dem gestrigen Tage hab ich mich nie mit
qbasic oder Programmieren im allgemeinen auseinandergesetzt !
Bin also völliger Frischling^^

Zu meiner Frage:
Ich brauche im Grunde 2 Programme.
1.) ein Prog, das aus einer Textdatei bestimmte Zeilen ausließt und
diese dann in eine neuen Textdatei reinschreibt.
2.) ein Prog, das aus einer Textdatei bestimmte Zeilen ausließt,
vergleicht ob die erste dieser Zeilen in einer 2ten Textdatei identisch
vorhanden ist, und dann die restlichen Zeilen austauscht.

Es soll generell etwas mit übersetzung zu tun haben...blöd zu beschreiben.
Ein Beispiel:

deu.txt:
[person 1]
name=Peter
alter=irgendwas
beruf=ausgedacht
...
[person 679]
beruf=...
alter=...
name=Hans
...
[person 35]
beruf=...
name=Bernd
alter=...
...

Programm 1 erstellt mir jetzt aus den Angaben in deu.txt folgende Datei:

db.txt:
[person 1]
name=Peter

[person 679]
name=Hans

[person 35]
name=Bernd

Dieses Programm hab ich sogar selber hinbekommen^^
Jetzt der Teil, der mir schwierigkeiten bereitet.

eng.txt:
[person 679]
beruf=...
alter=...
name=Jack
...
[person 1]
name=Jeremy
alter=irgendwas
beruf=ausgedacht
...

[person 35]
beruf=...
name=Jacob
alter=...
...

Programm 2 soll jetzt in der db.txt zu jeder [person #] die passende
Zeile (wenn vorhanden) in der eng.txt suchen und dann die name=
Zeile austauschen. So dass zB danach in meiner eng.txt folgendes steht:

[person 679]
beruf=...
alter=...
name=Hans
...
[person 1]
name=Peter
alter=irgendwas
beruf=ausgedacht
...

[person 35]
beruf=...
name=Bernd
alter=...
...

Dabei ist zu beachten, das weder die Positionen von den [person #]
noch die restlichen Angaben in der gleichen Reihenfolge sein müssen
wie in der deu.txt oder db.txt.

Programm 2 hab ich mir auch schon etwas gebastelt, aber da ich den
PRINT Befehl benutze um auszutauschen, hab ich am Ende eine falsche
Datei.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Star69



Anmeldungsdatum: 13.05.2005
Beiträge: 5

BeitragVerfasst am: 13.05.2005, 23:15    Titel: mein Programm 1^^ Antworten mit Zitat

so hier mal die .bas zu meinem Programme 1 Namens "make_db.bas"

CLS
id$ = ""
name$ = ""
OPEN "deu.txt" FOR INPUT AS #1
OPEN "db.txt" FOR APPEND AS #2
CLOSE #2
OPEN "db.txt" FOR OUTPUT AS #2

DO WHILE NOT EOF(1)
i% = 0
DO WHILE NOT i% = 400 AND NOT EOF(1)
id$ = "["
INPUT #1, c$
IF INSTR(c$, id$) > 0 THEN
PRINT c$
PRINT #2, c$
INPUT #1, name$
DO WHILE NOT INSTR(name$, "name=") > 0 AND NOT EOF(1)
INPUT #1, name$
LOOP
PRINT name$
PRINT #2, name$
PRINT #2, ""
END IF
i% = i% + 1
LOOP
LOOP
CLOSE #1
CLOSE #2


Das Programm klappt, wenn auch sicherlich mies geschrieben^^
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Star69



Anmeldungsdatum: 13.05.2005
Beiträge: 5

BeitragVerfasst am: 13.05.2005, 23:26    Titel: jetzt mein Programm 2 Antworten mit Zitat

die .bas zu meinem Programme 2 Namens "set_db.bas"

OPEN "db.txt" FOR INPUT AS #1
OPEN "eng.txt" FOR INPUT AS #2

DO WHILE NOT EOF(1)
INPUT #1, c$
IF INSTR(c$, "[") > 0 THEN
c2$ = c$
INPUT #1, name$
DO WHILE NOT INSTR(name$, "name=") > 0 AND NOT EOF(1)
INPUT #1, name$
LOOP
name2$ = name$
DO WHILE NOT EOF(2)
INPUT #2, name3$
DO WHILE NOT INST(name3$, "name=") > 0 AND NOT EOF(2)
INPUT #2, name3$
LOOP
CLOSE #2
OPEN "eng.txt" FOR OUTPUT AS #2
PRINT #2, name2$
CLOSE #2
OPEN "eng.txt" FOR INPUT AS #2
END IF
LOOP
END IF
LOOP
CLOSE #1
CLOSE #2


Dieses Programm scheint soweit zu klappen, dass er tatsächlich die
richtigen Zeilen findet zum ersetzen, aber beim ersetzen durch PRINT
halt dann das ganze File löscht^^
In der rauskommenden eng.txt steht nur zB:
name=peter

Sprich: er hat als erste auszutauschende Variable die Zeile "name=Peter"
gefunden und sollte die mit PRINT an die richtige Stelle schreiben.
PRINT schreibt aber nit an Stellen, sondern macht ein neue leere
eng.txt und schreibt "name=Peter" rein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Star69



Anmeldungsdatum: 13.05.2005
Beiträge: 5

BeitragVerfasst am: 13.05.2005, 23:33    Titel: Antworten mit Zitat

Wie bring ich mein Programm 2 zum Funktionieren ?
Hab bisschen über binary, get, put usw. gelesen, verstehe es aber noch
nicht.

Wäre echt klasse, wenn mir hier jemand helfen könnte !!!

Bye
Star69

ps. wäre klasse, wenn einer mein Programm in ungefähr der Form zum
laufen bringen könnte !!!
pps. wenn eine lauffähige Version da ist, wäre ich auch über Vorschläge
zur bessseren Schreibweise dankbar !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 14.05.2005, 13:26    Titel: Antworten mit Zitat

Hallo lächeln
=> Schau mal oben rechts da gibts nen gaaanz tollen Editbutton
=> Deine Fragen müssten zum grössten Teil in der Monsterfaq auf www.qbasic.de beantwortet werden zwinkern
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Star69



Anmeldungsdatum: 13.05.2005
Beiträge: 5

BeitragVerfasst am: 19.05.2005, 22:36    Titel: @Devilkevin Antworten mit Zitat

thx, aber ob jetzt per edit oder in mehreren posts ist mir jacke wie hose...

und zu deiner "antwort"...hmm
wozu frag ich sowas wohl ?! bestimmt nicht, um die antwort zu bekommen
"das steht alles größtenteils da und da"

echt jetzt: wenn man keine passende antwort hat, solte man besser
garnicht antworten.

ich möcht mir garnicht vorstellen, wie du zu deinen über 400 posts
gekommen bist.

bye
$tar69

ps. wenn einer mir wirklich mit dem prog weiterhelfen will:
ich bin für jede hilfreiche antwort dankbar !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 19.05.2005, 22:53    Titel: Re: @Devilkevin Antworten mit Zitat

Star69 hat Folgendes geschrieben:
thx, aber ob jetzt per edit oder in mehreren posts ist mir jacke wie hose...

Den Moderatoren wohl nicht mit den Augen rollen

und zu deiner "antwort"...hmm
wozu frag ich sowas wohl ?! bestimmt nicht, um die antwort zu bekommen
"das steht alles größtenteils da und da"

Genau gesagt: Es steht alles da ! Fast alles auch mit ausführlichen Beispielen

echt jetzt: wenn man keine passende antwort hat, solte man besser
garnicht antworten.

ich möcht mir garnicht vorstellen, wie du zu deinen über 400 posts
gekommen bist.

Das liegt vllt. erstens daran das ich länger hier angemeldet bin, dann durch Fragen/Antworten und wohl 30% Spamm lachen

bye
$tar69

ps. wenn einer mir wirklich mit dem prog weiterhelfen will:
ich bin für jede hilfreiche antwort dankbar !

Ich bin mir sicher das du den gröstenteil alleine schreiben kannst, schau dir doch um Gotteswillen endlich in der FAQ um, poste deinen Code und wir helfen dir dann damit weiter


_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 20.05.2005, 14:56    Titel: Antworten mit Zitat

Im Grunde hat Devilkevin Recht.

Wenn du in die Forums-Netiquette geschaut hättest,
hättest du gewusst, dass hier Fragen oder Threads wie
Zitat:

Wie erstelle ich folgendes Programm ?

oder
Zitat:

Ich brauche im Grunde 2 Programme.

im Allgemeinen nicht beantwortet werden.

Zu deiner Frage: Guck mal hier.

Auch wenn du dort keine fertige allumfassende Antwort erhältst, kannst du
deine Frage immer noch präziser formulieren, und dann ein neues Topic hier im Forum
eröffnen.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
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
Seite 1 von 1

 
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