[seem to be solved] KibiByte-Rechner programmieren
Moderator: Moderatoren
- ChristianAC
- ***
- Beiträge: 91
- Registriert: So, 30.11.2014 23:59
[seem to be solved] KibiByte-Rechner programmieren
Hallo Gemeinde,
ich habe absolut keine Ahnung von Event-Makros, bei Function-Makros sieht es anders aus (siehe mein VideoPoker, http://www.openoffice-forum.de/viewtopic.php?f=5&t=5442. Ich möchte aus einer TextBox z.B. eine "0,5" (für Terabyte) auslesen,wenn ich auf einen Button klicke. Dann soll in eine andere TextBox (oder meinetwegen auch MsgBox; Label gibt es ja wohl nicht in OO) die wahre Terabytezahl übertragen werden. Verrechnet wird das ganze also mit Basis 1024 statt 1000 (die bekannte Mogelpackung bei Kauf eines Speichermediums).
Wie mache ich das? Wer kann mir den Quelllcode geben)?
Mit freundlichem Gruss, Christian aus Aachen
ich habe absolut keine Ahnung von Event-Makros, bei Function-Makros sieht es anders aus (siehe mein VideoPoker, http://www.openoffice-forum.de/viewtopic.php?f=5&t=5442. Ich möchte aus einer TextBox z.B. eine "0,5" (für Terabyte) auslesen,wenn ich auf einen Button klicke. Dann soll in eine andere TextBox (oder meinetwegen auch MsgBox; Label gibt es ja wohl nicht in OO) die wahre Terabytezahl übertragen werden. Verrechnet wird das ganze also mit Basis 1024 statt 1000 (die bekannte Mogelpackung bei Kauf eines Speichermediums).
Wie mache ich das? Wer kann mir den Quelllcode geben)?
Mit freundlichem Gruss, Christian aus Aachen
Zuletzt geändert von ChristianAC am Mo, 08.12.2014 20:53, insgesamt 1-mal geändert.
Internetrechner mit Win 7 OO 3.0.0 sowie Notebook mit XP und AOO 4.1.1
VideoPoker-Spiel
VideoPoker-Spiel
Re: KibiByte-Rechner programmieren
Wie kommt man nur zu solchen Aussagen angesichts der TAtsache das Label und Textfeld auf der entsprechenden SYmbolleiste nebeneinander liegen - natürlich gibt es LabelLabel gibt es ja wohl nicht in OO)
z.B.:Wer kann mir den Quelllcode geben)?
Code: Alles auswählen
Dim frm_rechner As Object
Dim dia_rechner As Object
Sub Main
BasicLibraries.LoadLibrary("Standard")
DialogLibraries.LoadLibrary("Standard")
frm_rechner = DialogLibraries.Standard.Dialog1
dia_rechner = CreateUnoDialog(frm_rechner)
dia_rechner.execute()
End Sub
Sub umrechnen()
tmp = dia_rechner.getControl("TextField1").text
'Komma gegen Punkt tauschen
tmp = Split(tmp, ",")
tmp = Join(tmp, ".")
dia_rechner.getControl("Label2").text = Val(tmp)/1.024
End Sub
GRuß
Stephan
- Dateianhänge
-
- Umrechner.odt
- (11.63 KiB) 103-mal heruntergeladen
- ChristianAC
- ***
- Beiträge: 91
- Registriert: So, 30.11.2014 23:59
Re: KibiByte-Rechner programmieren
Das ist ja unglaublich genaial
Genau,was ich suchte
Vielen,vielen Dank
Dann gibt es also Label, so so,da muss ich noch mal hingucken
*gelöst* (wie mache ich das)
Genau,was ich suchte
Vielen,vielen Dank
Dann gibt es also Label, so so,da muss ich noch mal hingucken
*gelöst* (wie mache ich das)
Internetrechner mit Win 7 OO 3.0.0 sowie Notebook mit XP und AOO 4.1.1
VideoPoker-Spiel
VideoPoker-Spiel
Re: KibiByte-Rechner programmieren
Dein Originalposting editieren und im Thema das [gelöst]-Tag davorsetzenChristianAC hat geschrieben:*gelöst* (wie mache ich das)
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: KibiByte-Rechner programmieren
Hallo zusammen,
vielleicht ist es ja noch keinem aufgefallen, hier hat sich ein Fehler eingeschlichen.
Das Makro von Stephan tut zwar was ChristianAC hier anspricht
Was dabei heraus kommt ist der Umrechnungsfaktor für KB in KiB ~ 1000/1024 =0,9765625
Aber um dieses hier
1 TB sind nach HD Herstellerdefinition aber 1.000.000.000.000 Byte und die sind demnach durch 1024^4 zu dividieren
was einem Faktor von 0,909494701772928 entspricht.
Die Formel in dem Makro müsste mit "1.000.000.000.000/1024^4" oder mit dem fixen Wert rechnen, also etwa so oder auch
um die gewünschte TB = TiB Umrechnung zu erreichen
Dann wird 1 TB mit korrektem Faktor als 0,909494701772928 TiB
und das genannte Beispiel "0,5" TB mit 0,454747350886464 TiB ausgegeben.
Also 1 TB ~ 0,9095 TiB
vielleicht ist es ja noch keinem aufgefallen, hier hat sich ein Fehler eingeschlichen.
Das Makro von Stephan tut zwar was ChristianAC hier anspricht
ChristianAC hat geschrieben: Verrechnet wird das ganze also mit Basis 1024 statt 1000
Code: Alles auswählen
dia_rechner.getControl("Label2").text = Val(tmp)/1.024
Was dabei heraus kommt ist der Umrechnungsfaktor für KB in KiB ~ 1000/1024 =0,9765625
Aber um dieses hier
zu erreichen ist es mit /1024 nicht getan, auch wenn die Eingabezeile (TB) im Dialog das suggeriert.ChristianAC hat geschrieben:Ich möchte aus einer TextBox z.B. eine "0,5" (für Terabyte)
1 TB sind nach HD Herstellerdefinition aber 1.000.000.000.000 Byte und die sind demnach durch 1024^4 zu dividieren
was einem Faktor von 0,909494701772928 entspricht.
Die Formel in dem Makro müsste mit "1.000.000.000.000/1024^4" oder mit dem fixen Wert rechnen, also etwa so
Code: Alles auswählen
dia_rechner.getControl("Label2").text = Val(tmp)*1000000000000/1024^4
Code: Alles auswählen
dia_rechner.getControl("Label2").text = Val(tmp)*0,909494701772928
Dann wird 1 TB mit korrektem Faktor als 0,909494701772928 TiB
und das genannte Beispiel "0,5" TB mit 0,454747350886464 TiB ausgegeben.
Also 1 TB ~ 0,9095 TiB
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: KibiByte-Rechner programmieren
Danke für den Einwurf.
(ich schreibe "wohl" weil ich selbst seit Langem nicht mehr nachrechne und auch nicht sicher bin ob es alle Hersteller genau nehmen.)
In anhängender Datei habe ich es mal so korrigiert wie Du es vorschlägst und einen Verweis auf den Thread hier gesetzt.
Gruß
Stephan
ja, das stimmt.Was dabei heraus kommt ist der Umrechnungsfaktor für KB in KiB ~ 1000/1024 =0,9765625
da ist wohl was dran, und dessen war ich mir hier nicht bewusst.1 TB sind nach HD Herstellerdefinition aber 1.000.000.000.000 Byte und die sind demnach durch 1024^4 zu dividieren was einem Faktor von 0,909494701772928 entspricht.
(ich schreibe "wohl" weil ich selbst seit Langem nicht mehr nachrechne und auch nicht sicher bin ob es alle Hersteller genau nehmen.)
In anhängender Datei habe ich es mal so korrigiert wie Du es vorschlägst und einen Verweis auf den Thread hier gesetzt.
Gruß
Stephan
- Dateianhänge
-
- UmrechnerII.odt
- (13.33 KiB) 106-mal heruntergeladen
- ChristianAC
- ***
- Beiträge: 91
- Registriert: So, 30.11.2014 23:59
Re: KibiByte-Rechner programmieren
Danke allen,
ja,ich hatte auch drüber nachgedacht und sogar entdeckt, dass ich bei einer Floppy-Diskette immer falsch gerechnet hatte (1,40625 dachte ich)
Ich dachte an eine ListBox,aber gut,lassen wir das,ich bin hochzufrieden mit dieser Lösung des für mich schon sehr verzwackten BASIC-Problems
Gruß,Chris
ja,ich hatte auch drüber nachgedacht und sogar entdeckt, dass ich bei einer Floppy-Diskette immer falsch gerechnet hatte (1,40625 dachte ich)
Ich dachte an eine ListBox,aber gut,lassen wir das,ich bin hochzufrieden mit dieser Lösung des für mich schon sehr verzwackten BASIC-Problems
Gruß,Chris
Internetrechner mit Win 7 OO 3.0.0 sowie Notebook mit XP und AOO 4.1.1
VideoPoker-Spiel
VideoPoker-Spiel
Re: KibiByte-Rechner programmieren
Hallo ChristianAC,
die Trickserei fing erst bei den HD Disketten an wo aus "echten 1440 KiB" "falsche 1,44 MB" gemacht wurden es sind "echte 1,40625 MiB" da ist es ganz verzwickt weil die 1440 noch "echte" KiB waren und dann von irgendwelchen "Werbestrategen" einfach zu 1,44 MB ernannt wurden.
Der Bedarf der Differenzierung ist erst m.E. aus dieser Trickserei erwachsen, denn bis dahin war klar wenn von "KB" "MB" also Byte die Rede war, es ist das Binärsystem gemeint 2^X. Die Größenangaben meiner ersten HDs waren wie heute bei Speicherkarten noch im Binärsystem ~ 64 MB - 512 MB. Mit der ersten 1GB HD kam dann auch da die Trickserei.
siehe auch
http://de.wikipedia.org/wiki/Diskette#Formate
http://de.wikipedia.org/wiki/Byte
Bei HDs ist die Angabe der Hersteller rein Dezimal
1 KB = 1.000 Byte
1 MB = 1.000.000 Byte
1 GB = 1.000.000.000 Byte
1 TB = 1.000.000.000.000 Byte
daraus ergibt sich eine 1TB HD hat nach Binär Zählweise 2^10 = 1024 = 1KiB
hier ist ein schöner online Byte Calculator
http://www.dr-lex.be/info-stuff/bytecalc.html
Edit:
ein paar fehlende Nullen ergänzt
die Trickserei fing erst bei den HD Disketten an wo aus "echten 1440 KiB" "falsche 1,44 MB" gemacht wurden es sind "echte 1,40625 MiB" da ist es ganz verzwickt weil die 1440 noch "echte" KiB waren und dann von irgendwelchen "Werbestrategen" einfach zu 1,44 MB ernannt wurden.
Der Bedarf der Differenzierung ist erst m.E. aus dieser Trickserei erwachsen, denn bis dahin war klar wenn von "KB" "MB" also Byte die Rede war, es ist das Binärsystem gemeint 2^X. Die Größenangaben meiner ersten HDs waren wie heute bei Speicherkarten noch im Binärsystem ~ 64 MB - 512 MB. Mit der ersten 1GB HD kam dann auch da die Trickserei.
siehe auch
http://de.wikipedia.org/wiki/Diskette#Formate
http://de.wikipedia.org/wiki/Byte
Bei HDs ist die Angabe der Hersteller rein Dezimal
1 KB = 1.000 Byte
1 MB = 1.000.000 Byte
1 GB = 1.000.000.000 Byte
1 TB = 1.000.000.000.000 Byte
daraus ergibt sich eine 1TB HD hat nach Binär Zählweise 2^10 = 1024 = 1KiB
Code: Alles auswählen
1.000.000.000.000 Byte / 1024^1 (2^10) = 976562500,0 KiB
1.000.000.000.000 Byte / 1024^2 (2^20) = 953674,3164 MiB
1.000.000.000.000 Byte / 1024^3 (2^30) = 931,3225746 GiB
1.000.000.000.000 Byte / 1024^4 (2^40) = 0,9094947018 TiB
http://www.dr-lex.be/info-stuff/bytecalc.html
Edit:
ein paar fehlende Nullen ergänzt

Zuletzt geändert von clag am Mo, 08.12.2014 22:58, insgesamt 1-mal geändert.
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
- ChristianAC
- ***
- Beiträge: 91
- Registriert: So, 30.11.2014 23:59
Re: KibiByte-Rechner programmieren
Liebe Leute,es scheint noch anders zu sein
clag, was Du andeutest:
es sind wirklich ~ 1,44 (zum beschreiben ungefähr nutzbare etwas weniger) bei der Diskette = 1,40625
ich rede jetzt von den Kapazitäten, die mir Windows im Kontextmenü anzeigt.
Ich habe einen Stick mit ~64000000000 Byte, da werden 59,7 GB angezeigt
Das suggeriert:
1024 Byte = 1 kByte
und dann aber: 1000 kByte = 1MByte
1000 MByte = 1GByte
1000 GByte = 1Terabyte
bei der bewussten Festplatte sieht es nämlich genauso aus:
etwas über 0,5 Billionen Byte ergeben 465 GByte
(den Rest hinterm Komma schneidet die Windows-Info übrigens (einfach) ab)
Grüssle, Chris
PS:Nee,jetzt bin ich mir wieder unsicher,oder ich bin ganz blöd
egal
clag, was Du andeutest:
es sind wirklich ~ 1,44 (zum beschreiben ungefähr nutzbare etwas weniger) bei der Diskette = 1,40625
ich rede jetzt von den Kapazitäten, die mir Windows im Kontextmenü anzeigt.
Ich habe einen Stick mit ~64000000000 Byte, da werden 59,7 GB angezeigt
Das suggeriert:
1024 Byte = 1 kByte
und dann aber: 1000 kByte = 1MByte
1000 MByte = 1GByte
1000 GByte = 1Terabyte
bei der bewussten Festplatte sieht es nämlich genauso aus:
etwas über 0,5 Billionen Byte ergeben 465 GByte
(den Rest hinterm Komma schneidet die Windows-Info übrigens (einfach) ab)
Grüssle, Chris
PS:Nee,jetzt bin ich mir wieder unsicher,oder ich bin ganz blöd

Internetrechner mit Win 7 OO 3.0.0 sowie Notebook mit XP und AOO 4.1.1
VideoPoker-Spiel
VideoPoker-Spiel
Re: [seem to be solved] KibiByte-Rechner programmieren
Hallo ChristianAC,
deine Beobachtung ist doch völlig korrekt und entspricht den zu erwarteten Werten.
wobei man an der errechneten GiB Angabe schon sieht es lässt sich so nicht "sauber" umrechnen!
Die ehrlichste Arte wäre die Angabe der richtigen Binär Werte
dh
deine Beobachtung ist doch völlig korrekt und entspricht den zu erwarteten Werten.
wobei man an der errechneten GiB Angabe schon sieht es lässt sich so nicht "sauber" umrechnen!
Die ehrlichste Arte wäre die Angabe der richtigen Binär Werte
dh
Code: Alles auswählen
GiB .MiB .KiB .Byte
0456.0677.0162.0000 _ deine HD mit 500.000.000.000 Byte hat
0512.0000.0000.0000 _ 512 MiB = 1/2 TiB
0511.1023.1023.1023 _ 512 MiB = 1/2 TiB - 1 Byte
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox