Filesize und .bmp klappt nicht

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Dottakopf

Betreff: Filesize und .bmp klappt nicht

BeitragDo, Okt 11, 2007 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hio Blitzer!

Ich suche nach einem simplen weg, um herauszufinden, ob ein user an einem Bild herumgefummelt hat. Und da dachte ich mir, das geht am leichtesten anhand der größe der jeweiligen datei.

Code: [AUSKLAPPEN]

datei = readfile(lol.bmp)
if filesize(datei) <> 32.768 then print "rumgefummelt"


ich hab auch schon versucht, mal die größe einfach einzulesen
Code: [AUSKLAPPEN]

datei = readfile(lol.bmp)
print "größe" + filesize(datei)


Es kommt aber immer 0 raus. Jetzt frag ich mich, ob "filesize" nicht die größe von bmp dateien ermitteln kann? Gibts einen anderen weg die größe zu ermitteln?

~Edit~ ach ich weis das es da nen algo für gibt, aber ich such ne simple lösung. Ob es die gibt ?
mfg Dottakopf

aMul

Sieger des Minimalist Compo 01/13

BeitragDo, Okt 11, 2007 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
FileSize() erwartet als Parameter den Namen (und Pfad) einer Datei. Nicht das Handle einer geöffneten Datei.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Smily

BeitragDo, Okt 11, 2007 16:18
Antworten mit Zitat
Benutzer-Profile anzeigen
und readfile erwartet einen string Rolling Eyes
müsste der code nicht eigentlich einen fehler ausspucken?
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Dottakopf

BeitragDo, Okt 11, 2007 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm

@ a mul

also so ?

Code: [AUSKLAPPEN]

Print + FileSize("gfx\block_set.bmp")
WaitKey


@ smily

nö liefert 0 zurück

mfg Dottakopf
  • Zuletzt bearbeitet von Dottakopf am Do, Okt 11, 2007 16:28, insgesamt einmal bearbeitet

Justus

BeitragDo, Okt 11, 2007 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist Schwachsinn, die "Rumfummelei" anhand der Dateigröße zu erkennen.

Wenn jemand die Ursprungsdatei mit dem Inhalt "Rumfummelei" befummelt und danach "Dorftrottel" drin steht, wurde herumgefummelt, aber es würde nicht erkannt werden.

Deswegen benutzt du am besten eine Hashfunktion. Die grundlegenden Prinzipien einer solchen kannst du ausgezeichnet Wikipedia entnehmen.
Entsprechende Funktionen (z.B. MD5) gibt es in den Blitz-Codearchiven, sprich hier oder auf blitzbasic.com

Smily

BeitragDo, Okt 11, 2007 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Tut mir leid, aber ich nehm dir nicht ab, dass du den Code, so wie er ganz oben steht, in einem BB-Programm stehen hast und der Compiler das ohne zu murren schluckt. (Ich habe hier zwar kein bb, aber ich bin mir 100% sicher, dass ein readfile(lol.bmp) NICHT funktioniert)

Edit: und was bitte schön soll das darstellen? Confused

Zitat:
Code: [AUSKLAPPEN]
Print + FileSize("gfx\block_set.bmp")
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Dottakopf

BeitragDo, Okt 11, 2007 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke.

Ich weis, das es MD5 gibt ^^ aber ich wollte halt fragen ob es auch einen anderen weg gibt.

In meinem Fall reicht mir die datei größe. Die Farben der grafiken oder wie die aussehen sind K***egal aber die größen nicht. Und sobald ein user auf die schlaue idee kommen sollte ein paar hinderniss kleiner zu machen, ändert sich die byte zahl des bildes und das programm weis, das da was nicht stimmen kann.

@smily
er nimmt das ohne mucken Cool
Code: [AUSKLAPPEN]

If FileSize("gfx\block_set.bmp") <> 9654 Then Print "daten verändert !!!" WaitKey


genauso das
Code: [AUSKLAPPEN]

Print + FileSize("gfx\block_set.bmp")


mfg Dottakopf
  • Zuletzt bearbeitet von Dottakopf am Do, Okt 11, 2007 16:41, insgesamt einmal bearbeitet

Tankbuster

BeitragDo, Okt 11, 2007 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
readfile("lol.lol")

Das würde funktionieren Wink
Und Irgendwie ist es wirklich schwachsinn, denn wenn du zum Beispiel eine Datei hast, in der ein paar Integers gespeichert sind, kann man trotzdem aus einer 2 ne 99999 machen, und an der Dateigröße ändert sich nichts Wink
Twitter
Download Jewel Snake!
Windows|Android
  • Zuletzt bearbeitet von Tankbuster am Do, Okt 11, 2007 16:41, insgesamt einmal bearbeitet
 

Dreamora

BeitragDo, Okt 11, 2007 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Er kann das bild auch einfach mit der Mask Farbe ändern und das Objekt ist futsch. Dazu musst er die grösse nicht ändern. Nimm CRC wenn du etwas auf konsistenz prüfen willst.
Das zieht nicht nur Filesize sondern auch weitere Informationen in die Berechnung und ist dennoch schneller als Pixelvergleiche.


Künftig bitte nur lauffähigen Code posten.
Code von welchem dir selbst der Blitz Compiler (der ja nun wirklich nicht taugt fürs Debugging) sagen kann das er falsch ist, kann und wird in den meisten Fällen so verstanden, dass sich der Schreiber nicht damit auseinander gesetzt hast und wird geschlossen, da die Häufigkeit der "Könnte mir jemand ..." drastisch zugenommen hat in der letzten Zeit und sich deswegen der Community Gedanke zu sehr in Hass und Flame verliert.

EDIT:
Wieder entsperrt.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group