Bei Down. ode beim writen zwischendurch die Grösse wissen?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

klin

Betreff: Bei Down. ode beim writen zwischendurch die Grösse wissen?

BeitragMo, Jul 02, 2007 6:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leutz,
Ich habe ein großes Problem. Nähmlich weiss ich nicht, wie mann wärem Downloaden oder beim Writen zwischendurch die größe ablesen kann:!: Bei mir ist es nur nach closefile gegangen. Aber ich will ja mal so zwischendurch die größe wissen Exclamation
Also ist die Frage.... Wie zum teufel mach ich das Question Question

MFG
Klin

Smily

BeitragMo, Jul 02, 2007 6:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Du machst die größe einfach als variable:
bei writebyte machst du +1
bei writeint und writeshort machst du +4
bei writestring machst du +(stringlänge)+4
bei writeline machst du +(stringlänge)+2

Gruß, Smily0412
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

klin

BeitragMo, Jul 02, 2007 6:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hää Question
Wie bitte Question Könntest du mir das bitte nochmal neu erklären Question Zwar nett gemeint, aber kann nix damit anfangen Sad
MFG
Klin
 

Dreamora

BeitragMo, Jul 02, 2007 8:32
Antworten mit Zitat
Benutzer-Profile anzeigen
naja das sind die byte grössen der gegebenen Variablen.

Byte = 1
Word / Short = 2
Int / Float = 4
String = Länge Stringe + 4 (wegen terminierendem 0 = Int)
Line = Länge String + 2 (wegen den beiden Symbolen CR und LF auf Windows)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

BtbN

BeitragMo, Jul 02, 2007 9:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
String = Länge Stringe + 4 (wegen terminierendem 0 = Int)


Stimmt wenn ichs richtig sehe nicht. Bei BB kommen die 4 Byte daher, dass vor dem String nen Int steht, wie lang er ist. Und bei C-Strings, die 0-Terminiert sind, ist das 0-Zeichen ein einfaches Byte mit dem zahlenwert 0.
 

Dreamora

BeitragMo, Jul 02, 2007 10:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei normalen C Strings ...
Aber net bei MarkSilby Strings leider ...

Durfte mich schon bei einer B3D Pipeline Arbeit die ich für ein Team erledigt habe drüber freuen, dass Mark in den B3Ds nach jedem String ein INT 0 hinpackt und kein Byte, wie jeder andere Programmierer ...
Aber ja potentiell kanns auch die Stringlänge vorangestellt sein wie das anderweitig gerne gemacht wird um das Auslesen drastisch zu beschleunigen (memcpy anstatt byte to byte read).
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Smily

BeitragMo, Jul 02, 2007 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
so ich habs gerade nochmal getestet ^^ die stringlänge wird als int vor dem string geschrieben:

Code: [AUSKLAPPEN]
fileout = Writefile("test.txt")
WriteString fileout, "moep"
CloseFile fileout
filein = ReadFile("test.txt")
Print ReadInt(filein)
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

klin

BeitragDi, Jul 03, 2007 6:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Eigentlich meinte ich mit größe filesize Exclamation
z.B.
Code: [AUSKLAPPEN]

...
WriteByte fileout, ReadByte(tcp)

... Zwischendurch! ...
Code: [AUSKLAPPEN]

Print Filesize(...)

so meinte ich das!
THX
MFG
Klin

Silver_Knee

BeitragDi, Jul 03, 2007 10:49
Antworten mit Zitat
Benutzer-Profile anzeigen
setz mal in die schleife einen counter, der jedes byte mitzählt. den kannst du zwischendurch anzeigen und am ende, wenn alles heruntergeladen ist, hat der counter die selbe größe wie filesize...l

SpionAtom

BeitragDi, Jul 03, 2007 12:03
Antworten mit Zitat
Benutzer-Profile anzeigen
klin hat Folgendes geschrieben:

Code: [AUSKLAPPEN]
Print Filesize(...)

so meinte ich das!
THX
MFG
Klin


Funktioniert doch! Zumindest bei mir.

Anm:
Code: [AUSKLAPPEN]
Datei$="C:\Windows\Calc.exe"
PRINT "Dateigrösse: " + FILESIZE(Datei$)
PRINT "Beliebige Taste beendet Programm"
WAITKEY()


Dieses Beispiel aus der OH hat nicht funktioniert, weil sich die Datei Calc in einem anderen Ordner befindet (bei mir unter Windows\System32\calc.exe)
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

$tankY

BeitragDi, Jul 03, 2007 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Was alle versuchen, dir zu erklären, ist folgendes:
Code: [AUSKLAPPEN]

Groesse = 0

Writebyte(Stream,Byte)
Groesse = Groesse + 1
Writeint(Stream,Integer)
Groesse = Groesse + 4
...

Print "Die Datei ist " + Groesse + " Bytes groß!"

klin

BeitragMi, Jul 11, 2007 6:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist aber dann doch schon aufwendig... wenn mann bei z.B. 60-100 Dateien einzeln eintippen muss Laughing . Giebt es da keine Bessere Lösung? Weil ich packe das ganze ja und dann nach dem runterladen tut ers entpacken und die Datei ist ... 15 mb groß Crying or Very sad . Es hatt mir mal jemand mal gesagt, das es geht in einer Schleife... Aber er will mir das nicht sagen wie -.- Ich habe da schon alles probiert... nur das dumme dabei ist, das er erst in die Datei was reinschreibt, wenn diese mit closefile(...) beendet wurden ist.
Bitte um Hilfe
THX
MFG
Klin

shure_kyu

Newsposter

BeitragMi, Jul 11, 2007 12:20
Antworten mit Zitat
Benutzer-Profile anzeigen
nein leute er meint das so wie stanky schon in seinem post beschrieber müsste also nebenbei mitzählen
und die eigentlich filesize bekommt er ja dann über den http header der gesendet wird wenn er die datei requestet "Content-Length:" !!

im groben und ganzen willer damit eigentlich nur die schon runtergeladenen % anzeigen lassen.

dazu braucht er dann wieder :
die schon gezählten bytes / (File_size / 100) !!!

_______//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\________
◄Blitz 3D/MAX • PC - 2x 3.16Ghz, 4GB-Ram, ATi HD 4890 1024MB• win7 • site$ Rush2Play ° My-Htc.de
¯¯¯¯¯¯¯\__________________________________________________________________________//¯¯¯¯¯¯¯¯
BBP-RSS FEED Halt dich auf dem laufenden!
(C)Shure_kyu
 

$tankY

BeitragMi, Jul 11, 2007 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
klin hat Folgendes geschrieben:
Es hatt mir mal jemand mal gesagt, das es geht in einer Schleife

lol, dann packst du es halt in ne Schleife und bei Downloads benutzt man sowieso nur Read-/Writebyte.
Schau dir doch einfach die Streambefehle nocheinmal an (Readbyte, Writebyte, Eof, etc).

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group