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:

Datensatz Ändern funktioniert nicht

 
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
mlb



Anmeldungsdatum: 20.08.2006
Beiträge: 7

BeitragVerfasst am: 02.09.2006, 17:35    Titel: Datensatz Ändern funktioniert nicht Antworten mit Zitat

hallo"

untne ist mein coding, con ändern..
aber es funktioniert nicht, er speichert
alte sowie neue datensätze..
wieso?

wo ist der fehler?

mfg

mlb


Code:


AENDERN:

LOCATE 25, 1
PRINT "Aendern                                                                     ";
DIM arecc AS STRING
DIM aaanummer AS STRING
DIM aaartikel AS STRING
DIM aaalieferanteins AS STRING
DIM aaalieferantzwei AS STRING
DIM aaapreis AS STRING
DIM aaalieferantd AS STRING
DIM aaapreisz AS STRING
DIM aaapreisd AS STRING

LOCATE 16, 4
PRINT "Nummer:              "
LOCATE 16, 19
LINE INPUT "", aenummer$          'Eingabe Loeschbegriff (nummer)



'GESAMTDATENBESTAND EINLESEN U. AUSGEBEN

OPEN "C:\artikel.dat" FOR INPUT AS #1
WHILE NOT EOF(1)
LINE INPUT #1, arecc$

gefunden = 0

'RECORD IN EINZELFELDER ZERLEGEN

aaanummer = LEFT$(arecc, 15)
aaartikel = MID$(arecc, 16, 15)
alieferanteins = MID$(arecc, 31, 15)
apreis = MID$(arecc, 46, 5)
alieferantzwei = MID$(arecc, 51, 15)
apreisz = MID$(arecc, 66, 5)
alieferantd = MID$(arecc, 71, 15)
apreisd = MID$(arecc, 86, 5)

                        'DATEN NUR ANZEIGEN WENN SUCHNACHNAME GEFUNDEN
IF LEFT$((aenummer$ + SPACE$(15)), 15) = aaanummer$ THEN

gefunden = 1            'SCHALTER GEFUNDEN SETZEN


'EINZELFELDER MIT HINWEISTEXT ANZEIGEN

LOCATE 16, 4
PRINT "Nummer:    "; aaanummer

LOCATE 18, 4
PRINT "Bezeichnung:  "; aaartikel; "                         ";

LOCATE 20, 4
PRINT "Lieferanten:  ";
LOCATE 20, 20
PRINT alieferanteins
LOCATE 20, 38
PRINT alieferantzwei
LOCATE 20, 56
PRINT alieferantd

LOCATE 22, 4
PRINT "Preise/EUR: ";
LOCATE 22, 20
PRINT ""; apreis; "";
LOCATE 22, 38
PRINT ""; apreisz; "";
LOCATE 22, 56
PRINT ""; apreisd; "";
sleep 2
color ,1
END IF

WEND

CLOSE #1

'EINGABE EINZELFELDER

color 1,7

LOCATE 16, 15
LINE INPUT aenummer$

LOCATE 18, 18
LINE INPUT aeartikel$

LOCATE 20, 20
LINE INPUT aelieferanteins$

LOCATE 22, 20
LINE INPUT aepreis$

LOCATE 20, 38
LINE INPUT aelieferantzwei$

LOCATE 22, 38
LINE INPUT aepreisz$

LOCATE 20, 56
LINE INPUT aelieferantd$

LOCATE 22, 56
LINE INPUT aepreisd$


'FELDER AUF EINHEITLICHE LAENGE BRINGEN


leer$ = SPACE$(15)

aenummer$ = aenummer$ + leer
aenummer$ = LEFT$(aenummer$, 15)

aeartikel$ = aeartikel$ + leer
aeartikel$ = LEFT$(aeartikel$, 15)

aelieferanteins$ = aelieferanteins$ + leer
aelieferanteins$ = LEFT$(aelieferanteins$, 15)

aepreis$ = aepreis$ + leer
aepreis$ = LEFT$(aepreis$, 5)

aelieferantzwei$ = aelieferantzwei$ + leer
aelieferantzwei$ = LEFT$(aelieferantzwei$, 15)

aepreisz$ = aepreisz$ + leer
aepreisz$ = LEFT$(aepreisz$, 5)


aelieferantd$ = aelieferantd$ + leer
aelieferantd$ = LEFT$(aelieferantd$, 15)

aepreisd$ = aepreisd$ + leer
aepreisd$ = LEFT$(aepreisd$, 5)

'ZUSAMMENSETZEN GESAMTRECORD

aerecord$ = aenummer$ + aeartikel$ + aelieferanteins$ + aepreis$ + aelieferantzwei$ + aepreisz$ + aelieferantd$ + aepreisd$


'GESAMTDATENBESTAND EINLESEN U. NACH AENDERUNGSBEGRIFF SUCHEN

OPEN "C:\artikel.dat" FOR INPUT AS #1
OPEN "C:\artikel1.dat" FOR OUTPUT AS #2
WHILE NOT EOF(1)
LINE INPUT #1, arecc$

'AENDERUNGSBEGRIFF WIRD AUS RECORD GEFILTERT

aenummer$ = LEFT$(arecc, 15)

IF aenummer$ <> aaanummer$ THEN       'WENN KEIN AENDERUNGSBEGRIFF VORHANDEN
   PRINT #2, arecc$                      'SPEICHERE RECORD IN HILFSDATEI
ELSE
   LOCATE 25, 1
   PRINT #2, aerecord$
   PRINT "RECORD "; aaanummer$; " WIRD GEAENDERT";
   SLEEP 2
END IF

WEND

CLOSE #1
CLOSE #2

SHELL "del C:\artikel.dat"                       'ORGINALDATEI WIRD GELOESCHT
SHELL "ren C:\artikel1.dat  artikel.dat"         'HILFSDATEI ERHAELT NAMEN DES
 COLOR , 1                                       'ORIGINALS


RETURN

_________________
so einfach wie möglich, so kompliziert wie notwendig
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
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