Datei nach wert absuchen und ausgeben

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Schoppy

Betreff: Datei nach wert absuchen und ausgeben

BeitragMi, Aug 18, 2004 1:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mit dem Proggen erst vor kurzem angefangen und komme gut voran, aber ab und zu liegen noch eine paar Steine im Weg. Bis her wurde mir super geholfen, nochmals danke!
Nun zu meinem Problem:
Bin dabei ein Programm zu schreiben in dem ich in einer TXT datei verschiedene Werte eintrage (1 Eintrag = 1 Zeile) die jeweils mit # voneinander getrennt sind. Funktioniert auch super. Jetzt möchte ich gerne einen Wert der sich einige male in verschiedenen Zeilen wiederholt in einer Listbox ausgeben mit der zugehörigen Zeile.
Hab schon folgendes versucht:

Wert$="xyz.txt"
Pos=INSTR(Wert$,"#gesuchterWert")
PRINT Pos

Hier gibt er mir nur Null aus ???????

Hat vielleicht einer nen Code ?


grüsse
 

Timo

BeitragMi, Aug 18, 2004 9:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Also wenn du in der Datei jedem Wert einen namen gibst (z.B. Name=Franz), dann ist es dasselbe wie als würdest du eine Art Ini-Konfigurationsdatei schreiben, nur das deine Dateien auf .txt enden und nicht auf .ini

Denn sowas in der Art gabs schon mal von OJay unter Faq und Turorials:
https://www.blitzforum.de/viewtopic.php?t=3463
Das selbe zum Benutzen gibts dann unter CodeArchiv:
https://www.blitzforum.de/view...ght=parsen

Das müsste dir eigentlich weiterhelfen!

Gruß Timo


PS:
Zitat:
Wert$="xyz.txt"
Pos=INSTR(Wert$,"#gesuchterWert")
PRINT Pos


Das kann nicht klappen, weil du mit INSTR nicht die Datei durchsuchst, sondern den Dateinamen!!

4pac

BeitragMi, Aug 18, 2004 10:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Jau. Musst Du erst einen Dateihandle erstellen (mit ReadFile) und die Datei in einer Schleife einlesen While not Eof(Dateihandle) in einen String, ggf. auch Zeilenweise, und diesen dann nach dem Suchbegriff durchsuchen. Das ist keine Zauberei, Ascii-Datei-I/O-Basics, bekommst Du sicher hin mit der Online-Hilfe und ein Wenig Geduld. Kannst mich auch gerne nochmal fragen, aber bitte versuch erstmal selbst Dein Glück, denn was Du selbst gecodet hast, verstehst Du wahrscheinlich besser und ist für Deine Coder-Zukunft nützlicher.

Gruß,
Thomas
 

Schoppy

BeitragMi, Aug 18, 2004 10:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy Danke erst mal, hab es hin bekommen.

daten=ReadFile("datenbank.txt")
While Not (Eof(daten))
Wert$=ReadLine$(daten)
Zahl$=Wert$
Pos=Instr(Zahl$,"Action#")
If pos>0 Then Print Zahl$
Wend
CloseFile daten

Jetzt geht er hin und sucht alle zeilen ab. In den Zeilen wo er Action# findet gibt er mir aus. Das ganze kann ich jetzt mit Buttons verknüpfen
und die jeweiligen Einträge in einer Listbox auszugeben. Hätte trotzdem noch eine Frage:Und zwar bibt er mir jetzt das Action# mit aus. Wie sag ich ihm das er nur den Wert nach # ausgeben soll, oder Action# verstecken soll ?

4pac

BeitragMi, Aug 18, 2004 11:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Check mal den Befehl REPLACE und seine Syntax in der Online-Hilfe. Und dann replaced Du Code: [AUSKLAPPEN]
"#ACTION"
mit Code: [AUSKLAPPEN]
"#" + Wert
- oder was auch immer Du meinst. Mit dem "+"-Zeichen kannst Du Strings auf diese Art zusammensetzen und dabei auch Ausdrücke verwenden. Das sollte Dir weiterhelfen.
 

Blitzkrieg Bop

BeitragMi, Aug 18, 2004 11:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey: genau das hab ich gestern Nacht noch gemacht. Es wird zusätzlich die Zeile angegeben, in der das Suchwort gefunden wurde. Man könnte alternativ das noch so machen, das wenn man beim ersten suchen nichts findet, das Suchwort mit upper oder lower verändert wird und dann nochmal danach gesucht wird.(Aber dafür war es zu spät Very Happy )
Code: [AUSKLAPPEN]

;Externe Schreibdatein nach bestimmten Wörter untersuchen.
;
;
Graphics 640,480

suchwort$ = Input("Welches Suchwort soll gesucht werden?: ")
datei$ = Input("Ausgangsdatei: ")

If FileType(datei$) = 0
   RuntimeError "Datei existiert nicht."
Else
   file = OpenFile(datei$)
   While Not Eof(file)
      suchen$ = ReadLine(file) : zeile = zeile + 1
      If suchen$ = suchwort$
         RuntimeError "Wort: "+"'"+suchwort$+"'"+" in Zeile Nr.: "+zeile+" gefunden."
      EndIf        
   Wend
   RuntimeError "Wort leider nicht gefunden."
EndIf    
~ Hey Ho Let's Go ~
  • Zuletzt bearbeitet von Blitzkrieg Bop am Mi, Aug 18, 2004 11:37, insgesamt einmal bearbeitet
 

Blitzkrieg Bop

BeitragMi, Aug 18, 2004 11:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry Doppelpost.
~ Hey Ho Let's Go ~
 

dubitat

BeitragMi, Aug 18, 2004 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
@blitzkrieger bob deine lösung ist zwar so ganz gut aber es fehlt eine sicherung, das nur bekannte dateitypen aufgemacht werden,... aber eigentlich ist das ja egal...(kommt halt die fehlermeldng, dass nichts gefunden wurde)
Erare humanum est - Irren ist Menschlich
 

Blitzkrieg Bop

BeitragMi, Aug 18, 2004 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versteh nicht genau was du meinst. Es können halt nur HTML, .txt Datein etc. geöffnet werden! Oder wie meinst du das? Confused
~ Hey Ho Let's Go ~

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group