SET PRINTER TO
Moderator: Moderatoren
SET PRINTER TO
Hallo zusammen,
ich speichere eine Datei mit SET PRINTO TO Dateiname.txt in einem Verzeichnis.
Nun möchte ich aber die gleiche Datei einmal in dieses Verzeichnis und zugleich in ein anderes speichern.
Wie mache ich das? Habe schon einiges probiert klappt aber nicht ganz.
Im voraus vielen Dank für die Hilfe.
Viele Grüße
angelo
ich speichere eine Datei mit SET PRINTO TO Dateiname.txt in einem Verzeichnis.
Nun möchte ich aber die gleiche Datei einmal in dieses Verzeichnis und zugleich in ein anderes speichern.
Wie mache ich das? Habe schon einiges probiert klappt aber nicht ganz.
Im voraus vielen Dank für die Hilfe.
Viele Grüße
angelo
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: SET PRINTER TO
Hi,
wenn du diese Form nutzt ...
nutzt und alle gewünschten controlzeichen in die Strings packst,
könnte es so funktionieren:
mit xbase++ hätte man es auch einfach kopieren können:
copy file myText.txt to c:\pfad\myZeiteDatei.txt
aber ich glaube nicht dass das clipper konnte.
Eventuell mit run ... oder fopen() etc.
wenn du diese Form nutzt ...
Code: Alles auswählen
set printer to myText.txt
? "Hier kommt der Inhalt"
set printer to
könnte es so funktionieren:
Code: Alles auswählen
set printer to myText.txt
set printer on
set alternate to c:\pfad\myZeiteDatei.txt
set alternate on
? "Hier kommt der Inhalt"
set printer to
set alternate to
copy file myText.txt to c:\pfad\myZeiteDatei.txt
aber ich glaube nicht dass das clipper konnte.
Eventuell mit run ... oder fopen() etc.
Gruß
Hubert
Hubert
Re: SET PRINTER TO
brandelh hat geschrieben:Hi,
wenn du diese Form nutzt ...nutzt und alle gewünschten controlzeichen in die Strings packst,Code: Alles auswählen
set printer to myText.txt ? "Hier kommt der Inhalt" set printer to
könnte es so funktionieren:
mit xbase++ hätte man es auch einfach kopieren können:Code: Alles auswählen
set printer to myText.txt set printer on set alternate to c:\pfad\myZeiteDatei.txt set alternate on ? "Hier kommt der Inhalt" set printer to set alternate to
copy file myText.txt to c:\pfad\myZeiteDatei.txt
aber ich glaube nicht dass das clipper konnte.
Eventuell mit run ... oder fopen() etc.
Hallo Hubert,
das mit copy file..... habe ich schon am Anfang probiert denn es wäre einfach gewesen
aber leider, wie Du geschriebent hast, funktioniert es leider nicht.
Mit den anderen Möglichkeiten bin ich auch auf keinen grünen Zweig gekommen.
Es wird im Prg. eine Vorschau des Beleg's vor dem Ausdruck angezeigt aber vorher wird die
Datei auf C:\ als Datei gespeichert. Genau diese sollte nochmals gespeichert werden in einem anderen
Verzeichnis.
Viele Grüße
angelo
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: SET PRINTER TO
Hi,
zeig doch mal wie du druckst und woher kommt die Vorschau ?
sag mir doch bitte ob der COPY FILE Befehl in clipper vorhanden ist, ich kann mich nicht mehr erinnern.
Wenn ja, dann könnte es daran scheitern, dass die Datei noch offen ist (set printer to schließt diese !)
zeig doch mal wie du druckst und woher kommt die Vorschau ?
sag mir doch bitte ob der COPY FILE Befehl in clipper vorhanden ist, ich kann mich nicht mehr erinnern.
Wenn ja, dann könnte es daran scheitern, dass die Datei noch offen ist (set printer to schließt diese !)
Gruß
Hubert
Hubert
Re: SET PRINTER TO
brandelh hat geschrieben:Hi,
zeig doch mal wie du druckst und woher kommt die Vorschau ?
sag mir doch bitte ob der COPY FILE Befehl in clipper vorhanden ist, ich kann mich nicht mehr erinnern.
Wenn ja, dann könnte es daran scheitern, dass die Datei noch offen ist (set printer to schließt diese !)
Hallo Hubert,
nachdem ich alle Belegdaten eingegeben habe wird eine Text-Datei mit SET PRINTER TO BELEG.TXT gespeichert.
Mit MEMOREAD wird dann der Beleg am Bildschirm angezeigt, so wie er nach dem Ausdruck ausschauen wird.
Das soll helfen die Daten nochmals zu kontrollieren bevor man es ausdruckt.
In Clipper gibt es den Befehl COPY FILE BELEG.TXT TO BELEG.TXT.
Wenn ich diesen benütze wird die Datei kopiert aber ohne die Daten also 0 Byte groß.
Mit SET PRINTER TO habe ich auch versucht diese nach dem erstellen der Text-Datei zu schließen
aber es gab trotzdem eine 0 Byte Datei.
Weißt Du an was es liegt?
Im voraus Vielen Dank für die Hilfe.
Viele Grüße
angelo
- Martin Altmann
- Foren-Administrator
- Beiträge: 16516
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: SET PRINTER TO
Hallo Angelo,
Du solltest das COPY TO nach dem SET PRINTER TO (also dem Schließen der Datei) und vor dem Memoread() machen!
Dann sollte das auch gehen...
Viele Grüße,
Martin
Du solltest das COPY TO nach dem SET PRINTER TO (also dem Schließen der Datei) und vor dem Memoread() machen!
Dann sollte das auch gehen...
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Re: SET PRINTER TO
Martin Altmann hat geschrieben:Hallo Angelo,
Du solltest das COPY TO nach dem SET PRINTER TO (also dem Schließen der Datei) und vor dem Memoread() machen!
Dann sollte das auch gehen...
Viele Grüße,
Martin
Hallo Martin,
Danke für den Tipp.
Probiere ich gleich morgen.
Viele Grüße
angelo
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: SET PRINTER TO
und warum benutzt du dann nicht MemoWrit() ?angelo hat geschrieben: Mit MEMOREAD wird dann der Beleg am Bildschirm angezeigt, so wie er nach dem Ausdruck ausschauen wird.
Das soll helfen die Daten nochmals zu kontrollieren bevor man es ausdruckt.
Code: Alles auswählen
NewMemo := MemoEdit( MemoRead( cFileInput ) )
MemoWrit( cFileOut1, NewMemo )
MemoWrit( cFileOut2, NewMemo )
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: SET PRINTER TO
So wie ich das sehe sind QUELL- und ZIEL-Datei identisch ... das kann nur schief gehen !angelo hat geschrieben: In Clipper gibt es den Befehl COPY FILE BELEG.TXT TO BELEG.TXT.
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16516
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: SET PRINTER TO
Hallo Hubert,
ich gehe mal davon aus, dass dies nur ein Beispielcodeschnipsel war - sonst hätte Angelo nicht geschrieben, dass die Datei zwar kopiert wird, aber die Kopie 0 Byte groß ist
Hallo Jimmy,
gibt es MemoWrite() denn unter Clipper
Viele Grüße,
Martin
ich gehe mal davon aus, dass dies nur ein Beispielcodeschnipsel war - sonst hätte Angelo nicht geschrieben, dass die Datei zwar kopiert wird, aber die Kopie 0 Byte groß ist
Hallo Jimmy,
gibt es MemoWrite() denn unter Clipper
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: SET PRINTER TO
Aber Martin, man soll nichts voreilig unterstellenMartin Altmann hat geschrieben:Hallo Hubert,
ich gehe mal davon aus, dass dies nur ein Beispielcodeschnipsel war - sonst hätte Angelo nicht geschrieben, dass die Datei zwar kopiert wird, aber die Kopie 0 Byte groß ist
Das Verhalten passt übrigens !
Wenn der Befehl intern die Datei z.B. mit FOPEN() binär zum lesen öffent und wartet, ob die Zieldatei auch geöffnet werden kann, bleibt er am Dateianfang. Nun wird die zweite Datei geöffnet, diese setzt aber erstmal die Bytelänge der Datei auf 0 also von Anfang an überschreiben, nun liest man aus der ersten und siehe da die ist ja leer, da es jeweils die gleiche Datei war
Das war jetzt einiges (shareverhalten, openmodi ...) von mir unterstellt ...
Mal sehen ob es hier nur ein Tippfehler war
Aber Hallo, natürlichMartin Altmann hat geschrieben:Hallo Jimmy,
gibt es MemoWrite() denn unter Clipper
PS: ab und zu geht mir das auch so, Xbase++ kann halt viel mehr, aber den memowrit() habe ich schon unter clipper gerne genutzt. Wegen des alten (DOS) Clipper-Befehls, hängt ja auch das aktuelle memowrit() das heute störende chr(26) an (Dateiende Zeichen).
Gruß
Hubert
Hubert
Re: SET PRINTER TO
brandelh hat geschrieben:Aber Martin, man soll nichts voreilig unterstellenMartin Altmann hat geschrieben:Hallo Hubert,
ich gehe mal davon aus, dass dies nur ein Beispielcodeschnipsel war - sonst hätte Angelo nicht geschrieben, dass die Datei zwar kopiert wird, aber die Kopie 0 Byte groß ist
Das Verhalten passt übrigens !
Wenn der Befehl intern die Datei z.B. mit FOPEN() binär zum lesen öffent und wartet, ob die Zieldatei auch geöffnet werden kann, bleibt er am Dateianfang. Nun wird die zweite Datei geöffnet, diese setzt aber erstmal die Bytelänge der Datei auf 0 also von Anfang an überschreiben, nun liest man aus der ersten und siehe da die ist ja leer, da es jeweils die gleiche Datei war
Das war jetzt einiges (shareverhalten, openmodi ...) von mir unterstellt ...
Mal sehen ob es hier nur ein Tippfehler war
Aber Hallo, natürlichMartin Altmann hat geschrieben:Hallo Jimmy,
gibt es MemoWrite() denn unter Clipper
PS: ab und zu geht mir das auch so, Xbase++ kann halt viel mehr, aber den memowrit() habe ich schon unter clipper gerne genutzt. Wegen des alten (DOS) Clipper-Befehls, hängt ja auch das aktuelle memowrit() das heute störende chr(26) an (Dateiende Zeichen).
Hallo Hubert,
natürlich war das nur ein Beispielcodeschnipsel. Die Quell- und Zieldatei sind nicht identisch.
Viele Grüße
angelo
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: SET PRINTER TO
Hallo Angelo,
ich habe mal in altem Code gestöbert und die folgende Routine gefunden:
Vielleicht hilft Dir das weiter.
Uli
ich habe mal in altem Code gestöbert und die folgende Routine gefunden:
Code: Alles auswählen
procedure Kopiere
parameters PDBFName,PDBFKopieName
private HFileNr,HKopieFileNr,HStr,HNr,HCol,HAnz
HCol = col()
HFileNr = FOpen( PDBFName,194 ) && Lesen im Share'd-Zugriff
if HFileNr <> -1
HNr = 0
HStr = space( 16384 )
HKopieFileNr = FCreate( PDBFKopieName )
if HKopieFileNr <> -1
do while .T.
HAnz = FRead( HFileNr,@HStr,16384 )
if HAnz = 0
exit
endif
FWrite( HKopieFileNr,HStr,HAnz )
@ Row(),HCol say str( HNr*16384+HAnz,8 )
HNr = HNr+1
enddo
FClose( HKopieFileNr )
?? " Erfolgr."
else
?? " nicht möglich: Problem mit der Kopie!"
endif
FClose( HFileNr )
else
FClose( HFileNr )
?? " nicht möglich!"
endif
return
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück