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:

Data File nach Kennzeichen überprüfen

 
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
studio



Anmeldungsdatum: 08.08.2005
Beiträge: 34

BeitragVerfasst am: 24.08.2005, 11:53    Titel: Data File nach Kennzeichen überprüfen Antworten mit Zitat

Hallo!

Ich habe eine Erfassungdatei erzeugt mit folgendem Aufbau:
z.B: (Typ,Artikel,Menge,Schuhgröße,Einheit)
1,1234567890,1,430,10

Der Benutzer hat die Möglichkeit über eine Tastenkombination den
letzten Artikel als gelöscht zu markieren.
z.B:
1,1234567890,1,430,10
1,1234567890,1,430,12
1,geloescht,1,430,12

Ich ersetze die Artikelnummer einfach durch meine Markierung -> "geloescht"

Im späteren Verlauf könnte das dann folgendermaßen aussehen:
z.B:
1,1234567890,1,430,10
1,geloescht,1,430,10
1,1234567890,1,430,10
1,1234567890,1,430,12
1,geloescht,1,430,12
1,geloescht,1,430,12

Aus diesen Informationen möchte ich jetzt eine weitere Datei, ohne die
markierten Artikel mit dem Hinweis "geloescht", erstellen die dann
folgendermaßen aussehen sollte:
1,1234567890,1,430,10
1,1234567890,1,430,10
1,1234567890,1,430,12

Über eine kleine Hilsfestellung würde ich mich sehr freuen.

Gruß
studio
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 24.08.2005, 12:22    Titel: Antworten mit Zitat

Hallo.

Du möchtest also eine CSV-Datei nach dem Kriterium gelöscht oder nicht filtern. Das geht so:

Code:
OPEN "LALALA.TXT" FOR INPUT AS #1 'Quelldatei
OPEN "FERTIG.TXT" FOR OUTPUT AS #2 'Zieldatei
DO UNTIL EOF(1)
 INPUT #1, Typ%, Artikel$, Menge%, Schuhgr%, Einheit%
 IF LCASE$(Artikel$) <> "geloescht" THEN  'Durch lcase spielt Gr./Kl.-Schreibung keine Rolle mehr
  WRITE #2, Typ%, Artikel$, Menge%, Schuhgr%, Einheit%
 END IF
 IF EOF(1) THEN EXIT DO
LOOP
CLOSE #1
CLOSE #2
PRINT "Daten überprüft und gefiltert."
SLEEP: END


Wichtig ist, dass du um die Artikel-Nr und um geloescht Anführungszeichen setzt. Ansonsten wird das Ganze gleich viel komplizierter.

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
studio



Anmeldungsdatum: 08.08.2005
Beiträge: 34

BeitragVerfasst am: 24.08.2005, 13:05    Titel: Antworten mit Zitat

Hallo Sebastian,

vielen Dank für die schnelle Antwort ... ich werde mich gleich an die Arbeit
machen und Deinen Vorschlag prüfen. Nicht dass ich Dir und Deinen Codezeilen nicht
glauben schenken würde, aber ich verwende ein anderes BASIC Derivat ->
BHT-Basic und da gibt es zum Bespiel kein DO LOOP oder FOR INPUT.
Natürlich lässt sich das durch andere Funktionen bzw. Optionen ersetzen.

Mal sehen wie ich das Kind in die Wiege bekomme.

Dennoch vielen Dank erstmal .... Resultat folgt.

Gruß
studio
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
studio



Anmeldungsdatum: 08.08.2005
Beiträge: 34

BeitragVerfasst am: 24.08.2005, 13:21    Titel: Antworten mit Zitat

Hallo!

Problem wurde folgendermaßen gelöst:
--
Code:

OPEN DatName$ AS #DatFile%
 FIELD #DatFile% , 1 AS TypD$, 20 AS BarCodeD$, 1 AS MengeD$, 3 AS GroesseD$, 2 AS EinheitD$
               
 DatLaenge% = LOF(#DatFile%)
     
 OPEN InvName$ AS #InvFile%
  FIELD #InvFile% , 250 AS InvPuffer$                 
  FOR i% = 1 TO DatLaenge%
   GET #DatFile%
   IF BarCodeD$ <> "geloescht" THEN
     InvPuffer$ = TypD$+","+BarCodeD$+","+MengeD$+","+GroesseD$+","+EinheitD$
     PUT #InvFile%
   END IF
  NEXT i%             
 CLOSE #InvFile%
               
CLOSE #DatFile% 


Vielen Dank für Deine Unterstützung.

Gruß
studio
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 24.08.2005, 18:21    Titel: Antworten mit Zitat

Kein Problem. zwinkern
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail 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