Hallo zusammen :-) Ich schreib grad ne Stellroutine für meine RTC und hab mal ne Frage dazu: Nehmen wir mal an, die Uhr startet mit einem Default-Wert von 01.01.2010. Jetzt rufe ich die Stellvariable fürs Datum auf, und die zeigt mir dann den Default-Wert, beim Tag z.B. "1". Jetzt die Frage: Wie bekomme ich es hin, dass mir die Stellvariable "01" anzeigt? Ist zwar ne rein optische Frage, aber vielleicht weiß ja jemand Rat :-)
Indem du deiner Ausgaberoutine beibringst, dass sie 2 Stellen anzeigen soll und du gerne führende 0-en hättest.
Karl Heinz Buchegger schrieb: > Indem du deiner Ausgaberoutine beibringst, dass sie 2 Stellen anzeigen > soll und du gerne führende 0-en hättest. Was Du nicht sagst :-) Da wär ich nich drauf gekommen :-))) Und wie geht das? (Ausgabe auf LCD-Display
Uwe Heydemann schrieb: > Karl Heinz Buchegger schrieb: >> Indem du deiner Ausgaberoutine beibringst, dass sie 2 Stellen anzeigen >> soll und du gerne führende 0-en hättest. > > Was Du nicht sagst :-) Da wär ich nich drauf gekommen :-))) Du Schlauberger du. Sieh dir doch mal deine Frage an. Bis jetzt steht ja noch nicht einmal fest, welche Programmiersprache es sein soll! Von Information darüber, wie deine jetzige Ausgabe funktioniert reden wir erst mal gar nicht.
Nils S. schrieb: > printf("%02d", sekunden); Das ist C oder? Ich schreibe in Bascom :-) Tschudigung, hatte ich vergessen zu erwähnen :-)
Schau dir in der Hilfe den FORMAT Befehl an.
> Tschudigung, hatte ich vergessen zu erwähnen :-)
Ausnahmsweise entschuldigt. Aber nächstes mal gleich im
Eröffnungsposting. Dann gibts auch keine dummen Meldungen. Und wenn du
dann noch ein wenig Code zeigst, sind alle happy.
Und noch happier sind alle, wenn du vorab in deiner Hilfe einfach mal
alle Befehle abklapperst und untersuchst, welcher es eventuell sein
könnte. So viele gibts ja dnn in BASCOM auch wieder nicht.
Uwe Heydemann schrieb: > Nils S. schrieb: >> printf("%02d", sekunden); > > Das ist C oder? Ja. Ich schreibe in Bascom :-) Tschudigung, hatte ich > vergessen zu erwähnen :-) Da wird es wohl ein Handbuch mit den passenden Funktionen geben. Oder "neudeutsch": RTFM.
> Du Schlauberger du. > Sieh dir doch mal deine Frage an. > Bis jetzt steht ja noch nicht einmal fest, welche Programmiersprache es > sein soll! > Von Information darüber, wie deine jetzige Ausgabe funktioniert reden > wir erst mal gar nicht. Verstehen wir hier keinen Spaß mehr...?
Uwe Heydemann schrieb: >> Du Schlauberger du. >> Sieh dir doch mal deine Frage an. >> Bis jetzt steht ja noch nicht einmal fest, welche Programmiersprache es >> sein soll! >> Von Information darüber, wie deine jetzige Ausgabe funktioniert reden >> wir erst mal gar nicht. > > Verstehen wir hier keinen Spaß mehr...? Natürlcih verstehen wir Spass. Wenn man ihn uns erklärt :-)
Gugelhupf schrieb: > Uwe Heydemann schrieb: >> Nils S. schrieb: >>> printf("%02d", sekunden); >> >> Das ist C oder? > Ja. > > Ich schreibe in Bascom :-) Tschudigung, hatte ich >> vergessen zu erwähnen :-) > > Da wird es wohl ein Handbuch mit den passenden Funktionen geben. Oder > "neudeutsch": RTFM. Für die Ausgabe der Uhrzeit gibts sowas, ja. Nur gehts mir hier expliziet um die Stellvariable. Oder einfacher formuliert: Wie zeigt man eine Byte-Variable zweistellig an. RTFM hab ich nicht, ich hab LBDUWNKDN: Learning by doing und wenns nicht klappt dann nachfragen :-)
> RTFM hab ich nicht, ich hab LBDUWNKDN: Learning by doing und wenns nicht > klappt dann nachfragen :-) Leute die keine Handbücher lesen gehören gesperrt. Wer meint das Forum mit Fragen zuzuspammen die Google oder ein Manual beantwortet hat hier nichts verloren (nur so allgemein).
Gugelhupf schrieb: >> RTFM hab ich nicht, ich hab LBDUWNKDN: Learning by doing und wenns nicht >> klappt dann nachfragen :-) > > Leute die keine Handbücher lesen gehören gesperrt. Wer meint das Forum > mit Fragen zuzuspammen die Google oder ein Manual beantwortet hat hier > nichts verloren (nur so allgemein). Ich hab ein Handbuch, ein sehr gutes sogar. Nur steht da auch nicht alles drin. Gegoogelt hab ich auch :-)
Ok, ich zerleg die Zahl in Einer und Zehner. Das war bisher die einfachste Lösung, die ich gegoogelt habe. Wenn hier niemand eine bessere Idee hat... Schönen Abend noch zusammen
Wenn du deine Bücher auch so aufmerksam liest, wie hier deine Antworten, wundert mich gar nichts mehr.
Hallo, ich mache es so: Die verwendeten Variablen müssen natürlich vorher noch definiert und initialisiert werden. Sub Uhreinstellen_lcd() Locate 1 , 1 If _uhreinstellen_hour < 10 Then Lcd "0" Lcd _uhreinstellen_hour Lcd ":" If _uhreinstellen_min < 10 Then Lcd "0" Lcd _uhreinstellen_min Lcd ":" If _uhreinstellen_sec < 10 Then Lcd "0" Lcd _uhreinstellen_sec Locate 2 , 1 If _uhreinstellen_day < 10 Then Lcd "0" Lcd _uhreinstellen_day Lcd "." If _uhreinstellen_month < 10 Then Lcd "0" Lcd _uhreinstellen_month Lcd "." If _uhreinstellen_year < 10 Then Lcd "0" Lcd _uhreinstellen_year If _uhreinstellen = 1 Then Locate 1 , 2 If _uhreinstellen = 2 Then Locate 1 , 5 If _uhreinstellen = 3 Then Locate 1 , 8 If _uhreinstellen = 4 Then Locate 2 , 2 If _uhreinstellen = 5 Then Locate 2 , 5 If _uhreinstellen = 6 Then Locate 2 , 8 If _uhreinstellen = 0 Then Cursor Off Else Cursor Blink End Sub
Karl Heinz Buchegger schrieb: > Wenn du deine Bücher auch so aufmerksam liest, wie hier deine Antworten, > wundert mich gar nichts mehr. Ich habs gelesen. Der Format-Befehl ist nicht für Byte-Variablen geeignet, sondern für Strings. Genauso wie Fusing für Dezimal, sprich Single. Ohne Dich anzugreifen zu wollen, aber: Das steht sehr deutlich in der Bascom-Hilfe und auch im Manual. Soviel zum Thema lesen...
Uwe Heydemann schrieb: > Karl Heinz Buchegger schrieb: >> Wenn du deine Bücher auch so aufmerksam liest, wie hier deine Antworten, >> wundert mich gar nichts mehr. > > Ich habs gelesen. Der Format-Befehl ist nicht für Byte-Variablen > geeignet, sondern für Strings. Kein Problem. Dafür wiederrum gibts die Funktion Str In der Hilfe ist sogar beim FORMAT ein Beispiel Res as Long Res = .... Dim S1 as string * 16 : s1 = Str(Res) Print Format(s1,"000.00") Und, wars so schwer, die Hilfe vollständig zu lesen?
Jürgen C schrieb: > Hallo, > > ich mache es so: >..... Danke Jürgen, endlich jemand der Ahnung von der Materie hat und hilft, statt gleich Streit zu suchen. Ich habs etwas umgeschrieben. Das Beispiel ist für die Datumseinstellung gedacht: Set_day = 01 ----I Set_month = 01 I---- Startwert (Default) Set_year = 10 ----I Do For I = 1 To 3 Select Case I Case 1: Max_value = 31 Set_day = Value_counter Select Case Value_counter Case 1 To 9 : Lcd "0" ; Set_day ; ".0" ; Set_month ; ".20" ; Set_year Case 10 To 31 : Lcd Set_day ; ".0" ; Set_month ; ".20" ; Set_year End Select Case 2: Max_value = 12 Set_month = Value_counter Select Case Value_counter Case 1 To 9 : Lcd Set_day ; ".0" ; Set_month ; ".20" ; Set_year Case 10 To 12 : Lcd Set_day ; Set_month ; ".20" ; Set_year End Select Case 3: Max_line = 99 Set_year = Menu_counter Lcd Set_day ; Set_month ; ".20" ; Set_year End Select Grüße und einen schönen Abend noch
Karl Heinz Buchegger schrieb: > Uwe Heydemann schrieb: >> Karl Heinz Buchegger schrieb: >>> Wenn du deine Bücher auch so aufmerksam liest, wie hier deine Antworten, >>> wundert mich gar nichts mehr. >> >> Ich habs gelesen. Der Format-Befehl ist nicht für Byte-Variablen >> geeignet, sondern für Strings. > > Kein Problem. Dafür wiederrum gibts die Funktion Str > > In der Hilfe ist sogar beim FORMAT ein Beispiel > > Res as Long > Res = .... > Dim S1 as string * 16 : s1 = Str(Res) > Print Format(s1,"000.00") > > Und, wars so schwer, die Hilfe vollständig zu lesen? Nee, aber offensichtlich verstehst Du meine Frage immer noch nicht. Nochmal: Die Hilfe habe ich auch vorher gelesen und genau dieses Hickhack mit Umwandlung wollte ich umgehen. Deshalb meine bescheidene Frage, ob man die Bytevariablen auch ohne zig Formatierungen direkt zweistellig anzeigen lassen kann. Mehr nicht. Weil manchmal gibts da Möglichkeiten, die nicht immer im Handbuch stehen.
Uwe Heydemann schrieb: > Karl Heinz Buchegger schrieb: >> Uwe Heydemann schrieb: >>> Karl Heinz Buchegger schrieb: >>>> Wenn du deine Bücher auch so aufmerksam liest, wie hier deine Antworten, >>>> wundert mich gar nichts mehr. >>> >>> Ich habs gelesen. Der Format-Befehl ist nicht für Byte-Variablen >>> geeignet, sondern für Strings. >> >> Kein Problem. Dafür wiederrum gibts die Funktion Str >> >> In der Hilfe ist sogar beim FORMAT ein Beispiel >> >> Res as Long >> Res = .... >> Dim S1 as string * 16 : s1 = Str(Res) >> Print Format(s1,"000.00") >> >> Und, wars so schwer, die Hilfe vollständig zu lesen? > Nee, aber offensichtlich verstehst Du meine Frage immer noch nicht. > > Nochmal: Die Hilfe habe ich auch vorher gelesen und genau dieses > Hickhack mit Umwandlung wollte ich umgehen. Deshalb meine bescheidene > Frage, ob man die Bytevariablen auch ohne zig Formatierungen direkt > zweistellig anzeigen lassen kann. Mehr nicht. Weil manchmal gibts da > Möglichkeiten, die nicht immer im Handbuch stehen. Du meinst sowas wie if wert < 10 lcd "0" lcd wert ja du hast recht. Das steht wirklich nicht im Handbuch
> Du meinst sowas wie > > if wert < 10 > lcd "0" > lcd wert > > > ja du hast recht. Das steht wirklich nicht im Handbuch Siehst Du, schon hast Du was dazugelernt :-) Ich übrigens auch: Wenn Leute sich profilieren wollen oder einfach nur Streit suchen, dann ist jedes vernünftige Wort vergebens. Wenn Du meinen letzten Beitrag auch nur zu 50% verstanden hast, dann wäre Dir dieser blödsinnige Kommentar garnicht erst in den Sinn gekommen. Deshalb nochmal für Dich: Hier geht es um eine rein OPTISCHE Frage in einer winzigen besch....enen Stellroutine und nicht darum, das Ganze Keine Ahnung warum Du Dich Moderator nennen darfst. Wegen deiner überragenden Diplomatie sicherlich nicht. Hast wohl das Handbuch auswendig gekonnt, was? :-) Ich lern meins auch auswendig und noch ein zweites dazu. Dann werd ich Präsident von mikrocontroller.net und feuer Dich wegen mangelnder Kompetenz.
Uwe Heydemann schrieb: > Keine Ahnung warum Du Dich Moderator nennen darfst. Wegen deiner > überragenden Diplomatie sicherlich nicht. Hast wohl das Handbuch > auswendig gekonnt, was? :-) Ich lern meins auch auswendig und noch ein > zweites dazu. Dann werd ich Präsident von mikrocontroller.net und feuer > Dich wegen mangelnder Kompetenz. Oh Mann, schmeißt diesen arroganten Großkotz raus.
Uwe Heydemann schrieb: > Keine Ahnung warum Du Dich Moderator nennen darfst. Warum paart sich eigentlich immer Null Ahnung mit grosser Klappe? Ist doch unlogisch, eigentlich sollten eher Leute was zu sagen haben, die sich wirklich auskennen... Gruss Reinhard
"Mann" versucht zu helfen... er verstehts nicht .. und die Reaktionen sind so Da hier keine körperlich Gewalt zum Zuge kommen kann - eben so. Das ist Abwehrstrategie. Bestätigt dir jeder Verhaltensforscher. Das sind meist die Personen die sonst auch nicht sonderlich weit kommen. Allerdings schätze ich unser "Uwe Heydemann (uwe1981)" nicht auf ein Alter von 30 Jahren. Meist hat man da mehr Grips und Anstand. Eher so 16-20. So ein Nachpubertierendes Verhalten legt meist diese Altersgruppe an den Tag. Jupp
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.