Français
Source/ Codesnippets

Fclose Fopen

 
Aha alors devrait un réel XProfan10 fopen/fclose so air:
KompilierenMarqueSéparation
proc fopen

    parameters fle$,mode$
    declare h&
    h&=assign(fle$)

    if mode$="r"

        reset h&

    elseif mode$="w"

        rewrite h&

    elseif mode$="a"

        append h&

    elseif mode$="b"

        openrw h&

    endif

    return h&

endproc

proc fclose

    parameters h&
    close h&
    assign h&,""

endproc

?
 
02.05.2006  
 




Michael
Wodrich
oui, ensuite ists bien sûr. et avec iFs drumherum-Funktionen volonté sich aussi qui C-Indianer ici wohl sentir.

Allerdings peux trop Fuß programmiert un weiteres Assign chez obigem Beispiel de Roland entfallen.

cela une ist bien pour weitere Bearbeitung, l'autre ist bien pour sofortige Handle-Freigabe.

merci
belle Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
02.05.2006  
 




RGH
[quote-part:4504e32796=iF]Aha alors devrait un réel fopen/fclose so air: ...[/quote-part:4504e32796]
Korrekt!
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
02.05.2006  
 




H.Brill
Irgendwas scheint mais pas libre gegeben trop volonté.
Beim erneuten écrivons dans un avec OpenRW geöffneten
Dossier, ist qui dernier DS doppelt drin, si le trop schreibenden
données moins sommes. alors statt 3 DS seulement encore 2 drin stehen devrait.
Déclarer Long fichier, Memory étions[]
Set("Décimal", 2)
Struct Artikel = nom$(30), Preis!
Faible étions[], Artikel
SetSize étions[], 3
fichier = Assign($PROGDIR + "Waren.dat")
OpenRW fichier

With étions[0]

    étions[0].nom$ = "Milch"
    étions[0].Preis! = 0.99

EndWith

With étions[1]

    étions[1].nom$ = "Butter"
    étions[1].Preis! = 2.25

EndWith

With étions[2]

    étions[2].nom$ = "Käse"
    étions[2].Preis! = 3.55

EndWith

Imprimer "\nAus dem Array gelesen :"
AusgabeArray()
Sauver()
Imprimer "\nTaste pour Dateiausgabe..."
WaitKey
Ausgabe()
Imprimer "\nDelete phrase Nr. 2 dans Datei"
WaitKey
Arrdel étions[], 1, 1
Imprimer "\nAusgabe Array pour ArrDel"
Waitkey
AusgabeArray()
Sauver()
Imprimer "\nNach Sauver qui neuen Dossier."
Ausgabe()
WaitKey

Proc Sauver

    Déclarer Long offset
    Assign #1, $PROGDIR + "Waren.dat"
    Effacer #1
    Fermer #1
    Assign #1, »
    Assign #1, $PROGDIR + "Waren.dat"
    OpenRW #1
    offset = 0

    WhileLoop 0, SizeOf(étions[]) - 1

        BlockWrite #1, étions[&LOOP]
        Inc offset, 35

    Endwhile

    Fermer #1
    Assign #1, »

ENDPROC

Proc Ausgabe

    Déclarer Long Records
    Assign #1, $PROGDIR + "Waren.dat"
    OpenRW #1
    Records = GetFileSize(#1) / 34
    Claire étions[]
    SetSize étions[], Records
    Seek #1, 0

    WhileLoop 0, Records - 1

        BlockRead(#1, étions[&LOOP], 0, SizeOf(étions[&LOOP]))

        With étions[&LOOP]

            Imprimer "Artikel :", .nom$, "Preis : ", .Preis!

        EndWith

    Endwhile

    Fermer #1
    Assign #1, »

ENDPROC

Proc AusgabeArray

    WhileLoop 0, SizeOf(étions[]) - 1

        With étions[&LOOP]

            Imprimer "Artikel : ", étions[&LOOP].nom$, "Preis :", étions[&LOOP].Preis!

        EndWith

    Endwhile

    Sauver()

ENDPROC

Fin

Scheint so, comme wäre un profaninterner Speicherbereich, qui pas ou bien
pas vollständig zurück gesetzt wurde, beteiligt. qui Dossier wird oui avant
dem erneuten écrivons gelöscht.
ArrDel funktioniert la fois jedenfalls richtig.
quoi mir encore aufgefallen ist : seulement, si je qui Dossier avec dem Explorer
gänzlich gelöscht habe, sommes aussi qui Reste vom Dateiende verschwunden.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
29.11.2023  
 




Georg
Teles
Nabend,

exposition la fois dans la ligne 7, füge simple la fois pour OpenRW fichier

solange qui Dossier "doppelt geöffnet" ist, scheint XProfan qui vieille Dateigröße de 177 Bytes statt neuen 78 auszulesen, weil cet gesperrt ist, so wird vous aussi avec Effacer pas gelöscht, daher verzwickt sich cela

ensuite klappts

dein ganzer Code:
Déclarer Long fichier, Memory étions[]
Set("Décimal", 2)
Struct Artikel = nom$(30), Preis!
Faible étions[], Artikel
SetSize étions[], 3
fichier = Assign($PROGDIR + "Waren.dat")
OpenRW fichier
Fermer fichier

With étions[0]

    étions[0].nom$ = "Milch"
    étions[0].Preis! = 0.99

EndWith

With étions[1]

    étions[1].nom$ = "Butter"
    étions[1].Preis! = 2.25

EndWith

With étions[2]

    étions[2].nom$ = "Käse"
    étions[2].Preis! = 3.55

EndWith

Imprimer "\nAus dem Array gelesen :"
AusgabeArray()
Sauver()
Imprimer "\nTaste pour Dateiausgabe..."
WaitKey
Ausgabe()
Imprimer "\nDelete phrase Nr. 2 dans Datei"
WaitKey
Arrdel étions[], 1, 1
Imprimer "\nAusgabe Array pour ArrDel"
Waitkey
AusgabeArray()
Sauver()
Imprimer "\nNach Sauver qui neuen Dossier."
Ausgabe()
WaitKey

Proc Sauver

    Déclarer Long offset
    Assign #1, $PROGDIR + "Waren.dat"
    Effacer #1
    Fermer #1
    Assign #1, »
    Assign #1, $PROGDIR + "Waren.dat"
    OpenRW #1
    offset = 0

    WhileLoop 0, SizeOf(étions[]) - 1

        BlockWrite #1, étions[&LOOP]
        Inc offset, 35

    Endwhile

    Fermer #1
    Assign #1, »

ENDPROC

Proc Ausgabe

    Déclarer Long Records
    Assign #1, $PROGDIR + "Waren.dat"
    OpenRW #1
    Records = GetFileSize(#1) / 34
    Claire étions[]
    SetSize étions[], Records
    Seek #1, 0

    WhileLoop 0, Records - 1

        BlockRead(#1, étions[&LOOP], 0, SizeOf(étions[&LOOP]))

        With étions[&LOOP]

            Imprimer "Artikel :", .nom$, "Preis : ", .Preis!

        EndWith

    Endwhile

    Fermer #1
    Assign #1, »

ENDPROC

Proc AusgabeArray

    WhileLoop 0, SizeOf(étions[]) - 1

        With étions[&LOOP]

            Imprimer "Artikel : ", étions[&LOOP].nom$, "Preis :", étions[&LOOP].Preis!

        EndWith

    Endwhile

    Sauver()

ENDPROC

Fin

Grüße
Georg
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

30.11.2023  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.150 Views

Untitledvor 0 min.
E.T. vor 20 Tagen
Jens-Arne Reumschüssel05.07.2024
GDL22.05.2024
Thomas Freier06.01.2024
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie