| |
|
|
- Seite 1 - |
|
| Text Datei Vergleich Prozedur - hab ich irgendwann mal gebraucht ^^ Prozedur stellt nur fest ob die Textfiles exakt gleich sind. Es werden keine Unterschiede gefiltert.
{$iq}//xpse
cls
print "is exact gleich?: "+if(fle_compareexact ("org.txt","second.txt"),"Jo","Nö")
waitkey
end
proc fle_compareexact
parameters fle1$,fle2$
declare ex%,s$,ss$
assign #1,fle1$
assign #2,fle2$
reset #1
reset #2
ex%=0
whilenot ex%
input #1,s$
input #2,ss$
if (trim$(s$)<>trim$(ss$))
ex%:=2
elseif ( eof(#1) & eof(#2) )
ex%:=1
elseif eof(#1)
ex%:=2
elseif eof(#2)
ex%:=2
endif
case ( eof(#1) & eof(#2) ) : casenot ex% : ex%:=1
wend
close #1
close #2
return if(equ(ex%,1),1,0)
endproc
|
|
|
| |
|
|
|
| |
|
- Seite 1 - |
|
| Meine Proc hatte einen kleinen logischen Fehler - bei Dateiende wars egal ob die letzten beiden Zeilen übereinstimmten wenn beide Files gleich-viele Zeilen hatten.
Habs behoben.
@Frank: Deine Proc ist weniger geeignet Textdateien zu vergleichen. Textdateien müssen nicht die gleiche Größe haben um gleich zu sein - auch müssen sie nie byteexact-gleich sein. Wie der Name schon sagt - der selbe Text muß drinnstehen - auch wenn an der richtigen Stelle.
Natürlich ist ne while { input Kombination immer ne SpeedKrücke - und natürlich ließe sich die Operation auch als Speicheroperation durchführen. Bisl mempos auf #10 etc.
Salve, iF |
|
|
| |
|
|
|
Frank Abbing | iF, Leerzeichen usw. gehören ebenso zum Text und seiner Formatierung. Egal ob Textdatei oder sonstige, Übereinstimmung heißt bei mir exakte Übereinstimmung. Aber bitte. Rolf, was ist da los. Du bist des Programmierens doch mehr als fähig. Findest du das Problem nicht? Ich kann nichts entdecken... |
|
|
| |
|
|
|
Rolf Koch | Naja, ich bin zu mehr fähig, das mag sein. Jedoch arbeite ich im Einzelhandel und es kurz vor Weihnachten ...... muss ich da noch viel sagen. Ich hab z.Zt. durch den Stress sogar Probleme einen fünfzeiler zu schreiben, ohne das ich mich dauernd verhaue Nee, aber es liegt wirklich nix ungewöhnliches vor. Beide Textdateien ob gleich oder abgeändert melden den Fehler. Beide Textdateien sind gerade frisch erstellt worden. Beide Textdateien sind für den Lese/Schreibzugriff bestens geeignet. Leider wie bereits aus oben genannten Gründen und wegen Noc Update (damit ich endlich wieder an meinen Roc gehen kann - bald kommt ja P9 und da soll Roc auch verbessert sein) komme ich nicht dazu Deinen Code detailgenau durchzugehen. Aber ich schätze, daß Dein Code doch korrekt eingerichtet ist, oder?
Rolf |
|
|
| |
|
|
|
| Frank ich weiß das Leerzeichen zum Text gehören. Ich hab doch auch nie was anderes behauptet - du bist soo gemein. Ich schrieb Textdateien müssen nicht die gleiche Größe haben und auch nicht byte-exact.
Das kann zum Bleistift heißen das eine Textdatei auch dann den gleichen Textinhalt hat wenn diese z.B. mit anderen Steuerzeichen gespeichert ist.
z.B. nur #10 statt #13#10
Aber was erzähl ich Dir - sicher nix Neues.
Das Trim was oben steht ist tatsächlich weniger richtig. Hängt davon ab wofür man die Proc nutzen möchte - möge jeder selbst entscheiden. Da geb ich Dir recht - aber meintest Du das?
Salve, iF |
|
|
| |
|
|
|
Frank Abbing | @iF: Klar, habs ja verstanden . Soll der User doch entscheiden, was das richtige für ihn ist, ne?
@Rolf: Schick mir die beiden Dateien doch einfach mal. Natürlich nur, wenn du willst... Scheint so, als würde FileSize nicht richtig arbeiten...
P.S. Ist Weihnachten nicht das Fest der Ruhe und Entspannung? :biggrin: |
|
|
| |
|
|
|
| [quote:db58989a3e=Frank Abbing]@iF: Klar, habs ja verstanden . Soll der User doch entscheiden, was das richtige für ihn ist, ne? [/quote:db58989a3e]Nain grrrr der Programmierer.
[quote:db58989a3e]@Rolf: Schick mir die beiden Dateien doch einfach mal. Natürlich nur, wenn du willst... Scheint so, als würde FileSize nicht richtig arbeiten...
P.S. Ist Weihnachten nicht das Fest der Ruhe und Entspannung? :biggrin:[/quote:db58989a3e]Ich wüsste nicht das wir hier was anderes tun.
Salve, iF
|
|
|
| |
|
|
|
Jörg Sellmeyer | Hallo, So wie ich daß sehe, bekommt das Programm gar keine Chance ungleiche Dateien zu testen da If ((gx&>0) and (gx1&=gx2&)) ungleiche Dateien schon ausschließt und gleich zur Fehlermeldung verzweigt. Mit Or sollte es funktionieren. Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.12.2004 ▲ |
|
|
|
| |
|
- Seite 2 - |
|
|
Frank Abbing | Hi,
stimmt... Hab noch eine Zeile in den Source eingefügt. Jetzt sollte es richtig funktionieren. Danke! |
|
|
| |
|
|
|
Jörg Sellmeyer | Hall Frank, Müßte das: Case (gx1&=gx2&): Return verschieden groß und damit ungleich nicht so Case (gx1& <> gx2&): Return verschieden groß und damit ungleich lauten? Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.12.2004 ▲ |
|
|
|
|
Frank Abbing | Hi Jörg,
oh, sicher! Mist, das kommt davon, wenn man nicht ausgiebig testet und die Kinder um einen herum schwirren und Roger Rabbit spielen wollen und und und, genau...
Danke!
P.S. Die letzten Posting werde ich in Kürze löschen. Ist ja kein Diskussionsthread, sondern es sollen Quellcodes gepostet werden. Also nichts dabei denken, ok? |
|
|
| |
|
|
|
| Wenn es keine Diskussion ist aus der im Nachhinein brauchbare Informationen gezogen werden können kann diese hier bei Quelltexte entfernt werden. Da bin ich absolut Deiner Meinung Frank.
Wenn jedoch in der Diskusion z.B. mögliche Fallen oder Nach/Vorteile einer Prozedur besprochen sind - müsste man abwägen. Es ist nämlich schon so gedacht das jede vorgestellte Proc auch seinen eigenen Diskusionsstrang hat.
Salve, iF |
|
|
| |
|
|
|
Frank Abbing | Hi,
ich werde nur die inzwischen korregierten Bugreports löschen. Nach einer gewissen Zeit, nachdem alle beteiligten User Gelegenheit hatten, sie zu lesen. |
|
|
| |
|
|