Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Dateihandling der verbotenen Art

Uploader:MitgliedBasic-Opa
Datum/Zeit:22.03.2013 16:03:50

CLS:WIDTH 80,36:LOCATE ,,0
      DIM  AS INTEGER DLF,FR,ANZAHL
      TYPE Datensatz:FELD1 AS STRING*6: FELD2 AS STRING*4:FELD3 AS STRING*7:FELD4 AS STRING*6: END TYPE
      DIM AUSGABE AS Datensatz

' DATENSÄTZE 1-5 sollen leer bleiben"
         OPEN "C:/REIHE3" FOR RANDOM AS #1   REM LEN=26(23 + ANZAHL FELDER-1 =Minimum)
         FOR DLF = 1 TO 5
           GET #1,DLF+5,AUSGABE
            AUSGABE.FELD1 ="12345"+CHR$(DLF+64):AUSGABE.FELD2 ="ABC"+MID$(STR$(DLF),1,1):
            AUSGABE.FELD3 ="FELD567":AUSGABE.FELD4 ="12AB56"
           PUT #1,DLF+5,AUSGABE
         NEXT DLF
        
         ' Anzahl vorhandener DATENSÄTZE in Satz 1 speichern"

           get #1,1,ausgabe:AUSGABE.FELD1 =MKS(DLF+4):PUT #1,1,AUSGABE

         REM ****** ANZEIGE ************************
         GET #1,1,AUSGABE:ANZAHL=CVS(AUSGABE.FELD1):LOCATE 2,28:PRINT ANZAHL;" DATENSAETZE"
         FOR DLF = 1 TO ANZAHL
           GET #1,DLF,AUSGABE
           LOCATE DLF+2,10:PRINT "SATZ ";:PRINT USING "##";DLF;:PRINT "    ";AUSGABE.FELD1;"    ";AUSGABE.FELD2;"  ";AUSGABE.FELD3 ;"  ";AUSGABE.FELD4
         NEXT DLF
         LOCATE 15,34:INPUT "WEITER ->",FR

'         EINZELNE FELDER ÄNDERN
         get #1,10,ausgabe: AUSGABE.FELD3="NEU-S10":PUT #1,10,ausgabe
         get #1,2,ausgabe: AUSGABE.FELD2="Neu2":PUT #1,2,ausgabe
         get #1,4,ausgabe: AUSGABE.FELD4="NEU-F4":PUT #1,4,ausgabe

'         neuer Datensatz Nr.11
         get #1,ANZAHL+1,AUSGABE: AUSGABE.FELD1="ABCDEF":PUT #1,ANZAHL+1,ausgabe
         get #1,1,AUSGABE:AUSGABE.FELD1 =MKS(ANZAHL+1):PUT #1,1,AUSGABE

'         Anzeige aktualisieren
         GET #1,1,AUSGABE:ANZAHL=CVS(AUSGABE.FELD1):LOCATE 15,28:PRINT ANZAHL;" DATENSAETZE"
         FOR DLF = 1 TO ANZAHL
           GET #1,DLF,AUSGABE
           LOCATE DLF+15,10:PRINT "SATZ ";:PRINT USING "##";DLF;:PRINT "    ";AUSGABE.FELD1;"    ";AUSGABE.FELD2;"  ";AUSGABE.FELD3 ;"  ";AUSGABE.FELD4
         NEXT DLF

'         Zugriff auf die Einzelelemente von Feld 1 in Satz 11
         GET #1,11,AUSGABE
         FOR FR= 1 TO LEN(AUSGABE.FELD1):LOCATE 28,FR+20:PRINT ASC(MID(AUSGABE.FELD1,FR,1))-64:NEXT FR

         close #1:SLEEP:END