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

![]() |
klinBetreff: Bei Down. ode beim writen zwischendurch die Grösse wissen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() Also ist die Frage.... Wie zum teufel mach ich das ![]() ![]() MFG Klin |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hää ![]() Wie bitte ![]() ![]() ![]() MFG Klin |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich meinte ich mit größe filesize ![]() z.B. Code: [AUSKLAPPEN] ... WriteByte fileout, ReadByte(tcp) ... Zwischendurch! ... Code: [AUSKLAPPEN] Print Filesize(...) so meinte ich das! THX MFG Klin |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
klin hat Folgendes geschrieben:
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist aber dann doch schon aufwendig... wenn mann bei z.B. 60-100 Dateien einzeln eintippen muss ![]() ![]() Bitte um Hilfe THX MFG Klin |
||
![]() |
shure_kyuNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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). |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group