Italia
Foro

Zugriff auf Textdatei

 

Peter
Gückstock
Ciao,
wieder eine Anfängerfrage: Ich habe in meinem Profanprogramm eine TXT-File geladen, die ich vorher mit dem Windows-Editor (leer) gespeichert habe. In diese File habe ich innerhalb des Profanprogramms Strings geschrieben, die ich in Profan auch wieder laden und mit Print sichtbar machen kann. Öffne ich aber die TXT-File mit dem Windows-Editor, ist diese File leer. Diese File soll nämlich später circa Windowsprogramme zu lesen und zu drucken sein.
Ist das so eigentlich possibile?

Ich verwende Profan 6.6

Saluto Peter
 
Peter G.
Win XP, XProfan10
24.02.2007  
 




Jac
de
Lad
Speicherst du sie in Profan auch ab?
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
24.02.2007  
 




Peter
Gückstock
Muß das Abspeichern im Programmcode erfolgen? Ich habe dafür keinen Befehl gefunden. Ich dachte , dass mit dem Speichern im Profaneditor und anschließendem Schnellstart aus dem Editor heraus die Daten in diese File geschrieben werden.
 
Peter G.
Win XP, XProfan10
24.02.2007  
 



@Hallo Peter
KompilierenMarkierenSeparieren
DECLARE datei$,edit&
DECLARE nr%,max%

PROC SPEICHERN

    ASSIGN #1,datei$
    REWRITE #1
    Nr% = 0
    Max% = GetLineCount(edit&)

    WhileNot Nr% > Max%

        Print #1,GetLine$(edit&,Nr%)
        Inc Nr%

    ENDWHILE

    CLOSE #1

ENDPROC


Mit dieser kleinen Procedur speichere ich immer alle Eingaben in un Text-File ab und es funktioniert perfekt
 
24.02.2007  
 




Jac
de
Lad
Genau!
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
24.02.2007  
 




Peter
Gückstock
Vielen Dank Horst,
ich habe Deine Proc per meine Listbox angepaßt (getcount und getstring$).
Es funktioniert, aber in der Textdatei erhalte ich immer nur den letzten Satz aus der Listbox, In der Schleife müßten doch alle Sätze bis zum Wert, der von getcount zurückgegeben wird, eingelesen werden.
Und noch zum Verständnis, woher weiß Profan jetzt, dass mit File$ meine TXT File gemeint ist?

Sorry per die Nerverei, aber ich bin immer erst froh, wenn ich alles verstanden habe.
 
Peter G.
Win XP, XProfan10
24.02.2007  
 




Jörg
Sellmeyer
Hi Peter,
Die Variable File$ mußt Du naturalmente mit dem Namen Deiner Txt-File füttern.
Let File$=C:\MeinProgramm\MeineDatei.txt

Poste doch einfach mal Deinen Code, dann kann man besser sehen, wos hakt.

Saluto
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.02.2007  
 



@Peter

Jörg hat Recht - ein kleines Beispiel wäre hilfreich !
 
24.02.2007  
 




Peter
Gückstock
Hier ein Teil aus dem Listing

Hier erstmal die Proc zum Schreiben den Kassenbon in un TXT zum späteren
Kundenausdruck
KompilierenMarkierenSeparieren
-------Drucken--------

proc Bon_Druck

    let datei$=C:Eigene DateienProfanProjekteKassenbuchKassenbon.txt
    Assign #2,Datei$
    rewrite #2
    Nr%=0
    Max%=GetCount(BBox&)
    print max%

    WhileNot Nr%>Max%

        Print #2,GetString$(BBox&,Nr%)
        Inc Nr%

    endwhile

    Close #2

endproc

im folgenden Teil werden aus der mit einer DBF Datei gefüllten Listbox mehrere gewünschte Zeilen in eine andere Listbox übernommen. (soll Kassenbon sein)
Jede Zeile, die in den Kassenbon übernommen wurde, soll automatisch in eine TXT geschrieben werden, um zum Abschluß alle während des Tages in den Kassenbon übernommenen Sätze zur Auswertung bzw. zur Inventur zur Verfügung zu haben. (vielleicht bekomme ich daraus eine csv Datei hin )
Zusätzlich soll aber der gesamte Inhalt der Kassenbon-Listbox ineine zweite TXT Datei geschrieben werden, um diesen Kassenbon für den Kunden ausdrucken zu können

If @GetFocus(zumBon%)

    Long Lv_Item#,8 = 0  auf erste Spalte setzen
    GetSelectedItems 0
    Hole_Zeile 0
    Let Feld$ = @$(0)   zusammengesetzter Text der Zeile
    Let Feld$ = @Trim$(@Substr$(Feld$,1,	))+   +
    @Trim$(@Substr$(Feld$,2,	))+   +
    @Trim$(@Substr$(Feld$,3,	))+   +
    Zl$ = Zeile-+@Format$(00,(Zl&+1))  übersetze auch noch die Zeilennummer
    LONG Tb#,0 =-5
    LONG Tb#,4 =-60
    Long Tb#,8 =5
    Posten$=str$(Posten!)
    @SendMessage(BBox&,$0192,2,Tb#)  Parameter 3 gibt die Anzahl der Tabstopps an !!!
    Epreis$=@Substr$(Feld$,3,)
    Artikel$=@Substr$(Feld$,2,)
    Posten$=@substr$(Feld$,4,)
    Menge%=0
    Menge%=@Input$(Anzahl:,ausgewählter Artikel,Menge%)
    Epreis!=@val(EPreis$)
    Posten!=Menge%*EPreis!
    Decimals 2
    Summe!=Summe!+Posten!
    Decimals 2
    Bon$=str$(Menge%),+chr$($9)+Artikel$+chr$($9)+EPreis$++chr$($9)+str$(Posten!)+€
    @len(Artikel$)=20
    Addstring(Bbox&,str$(Menge%)+chr$($9)+Artikel$+chr$($9)+EPreis$++chr$($9)+str$(Posten!)+)
    Addstring(UBox&,str$(Summe!))

EndIf

----Fallunterscheidung durch Bediener------

if getfocus(Kassieren%)

    Rückgeld
    summe

endif

if getfocus(nächsterKd%)

    ergebn%=Messagebox(Kassierung schon durchgeführt?,ACHTUNG,308)

    if @equ(ergebn%,6)

        nächster_Kunde
        else getfocus(dlg%)

    endif

endif

if getfocus(Eintrag%)

    declare Line$,Line%,Teil$,DelPreis!,Storno$
    Line%=GetCurSel(BBox&)
    Line$=@GetString$(BBox&,Line%)
    Teil$=SubStr$(Line$,4,	)
    DelPreis!=val(Teil$)
    decimals ss=s2>2
    Summe!=Summe!-DelPreis!
 
Peter G.
Win XP, XProfan10
24.02.2007  
 




Peter
Gückstock
Das mit dem Schreiben des Listboxinhalts in die TXT habe ich hinbekommen.
Bleibt nur noch das die Frage, wie kann ich Daten anhängen, ohne die TXT vorher zu löschen? Append funktioniert nicht.
 
Peter G.
Win XP, XProfan10
24.02.2007  
 



Du musst den Text vorher auslesen und nach dem neuen Zusatz wieder einlesen und speichern. - Hier ist ein kleines Editor-Programm - das kannst Du per Deine Zwecke bestimmt umschreiben - viel Erfolg
KompilierenMarkierenSeparieren
DECLARE pfad$,datei$,text$
pfad$=GETDIR$(@)
print pfad$
datei$=pfad$+\beispiel.txt Hier Dateinamen angeben
DECLARE edit&
DECLARE nr%,max%,ende%,EE%,save%
DECLARE datei_groesse%
DECLARE bereich#
EE%=0
----------------------------------------------------

PROC SPEICHERN

    ASSIGN #1,datei$
    REWRITE #1
    Nr% = 0
    Max% = GetLineCount(edit&)

    WhileNot Nr% > Max%

        Print #1,GetLine$(edit&,Nr%)
        Inc Nr%

    ENDWHILE

    CLOSE #1

ENDPROC

---------------------------------------------------

PROC EDITOR

    edit&=CREATE(MULTIEDIT,%HWND,text$,10,50,615,-370)
    datei_groesse%=FILESIZE(datei$) Grösse der Datei
    DIM Bereich#,datei_groesse%+5 Dimensionieren + 5 Byte
    READTEXT Bereich#,datei$
    SENDMESSAGE(edit&,$000C,0,Bereich#)
    SENDMESSAGE(edit&,$00B1,datei_groesse%,-1)
    SENDMESSAGE(notiz_edit&,$00C5,2500,0) Der dritte Parameter gibt die Zeichenanzahl an
    DISPOSE bereich#

ENDPROC

################## Programm-Anfang

IFNOT FILEEXISTS(datei$) wenn keine Datei da ist, wird eine erstellt

    ASSIGN #1,datei$
    REWRITE #1
    CLOSE #1

ENDIF

-----------------------------------------------------
CLS
ende%=CREATE(BUTTON,%HWND,Beenden,10,5,100,35)
save%=CREATE(BUTTON,%HWND,Speichern,200,5,100,35)
EDITOR
SetFocus(edit&)

WHILENOT EE%

    WAITINPUT
    Case GETFOCUS(ende%):END
    Case GETFOCUS(save%):SPEICHERN

ENDWHILE
lass=s4 href='./../../funktionsreferenzen/xprofan/end/'>END
 
24.02.2007  
 




Jörg
Sellmeyer
Hallo Peter,
Warum sollte Append nichtfunktionieren? Du mußt Deinen Text oben entsprechend annpassen. Also:
KompilierenMarkierenSeparieren
[offtopic]Hallo Horst,
Schon wieder zurück von der Reparatur oder hast Dus verschoben?[/offtopic]
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.02.2007  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

6.135 Views

Untitledvor 0 min.
RudiB.08.03.2021
Georg Teles19.03.2016
Ernstmeinhard28.01.2016
Andreas Koch23.05.2013
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie