Winni hat geschrieben: Di 17. Mai 2022, 10:15 Monotype Font verwenden und schon sind alle Zeichen gleich breit. Dann geht's auch mit str.

Winni hat geschrieben: Di 17. Mai 2022, 10:15 Monotype Font verwenden und schon sind alle Zeichen gleich breit. Dann geht's auch mit str.
Ehrlich gesagt, die Symbole in "str(x:10:3, s)" sind genauso mysteriös wie die in "s := Format('%10.3f', [x])", wenn man's nicht weiß.Niesi hat geschrieben: Di 17. Mai 2022, 00:51 Ich programmiere mit Pascal, weil das eine sehr gut lesbare, sehr gut verständliche und logisch aufgebaute Programmiersprache ist. Zumindest fast immer. Format gehört nach meiner Meinung zu den sehr unglücklich gestalteten Funktionen. Und: mit Str erreiche ich mein Ziel, die Ergebnisse sauber anzuzeigen, auf eine sehr einfache, logisch nachvollziehbare Art und Weise.
Weil die str() so aufrufen, dass keine Leerzeichen vorangestellt werden. Es sieht einfach falsch aus, wenn in dem StringNiesi hat geschrieben: Di 17. Mai 2022, 00:51 Ich würde gern verstehen, warum die Funktionen IntToStr und FloatToStr - trotz interner Verwendung von Str - das nicht bringen. Aber das ist wohl unklar ...
Code: Alles auswählen
'Die Temperatur beträgt heute ' + IntToStr(Temperatur) + '°C'
Sie sind ja nicht ersetzt worden, sie sind glücklicherweise noch da ...Winni hat geschrieben: Di 17. Mai 2022, 15:06 Hi!
Doch, das ist der Punkt.
Wenn man str benutzt, kann man sich die sinnlose Zeit mit dem Lesen der Docs des MessageComposers oder von format sparen.
Eine Listbox nehmen, den Font auf irgendetwas monotypiges einstellen (Courier, Liberation Mono, ...) und das Thema ist erledigt.
Ich hab nie verstanden, warum die grundlegenden Pascal Funktionen wie str durch kompliziertere Routinen, die weniger können (format, floatToStr, ..) ersetzt worden sind.
Winni
Weil ihr Deutschen und Österreicher in der Office Welt lieber ein Komma anstelle des Punktes als Dezimaltrenner habt, mussten so komplizierte Funktionen her. Str() und Val() arbeiten nur mit dem Computerfreundlichen Punkt.Winni hat geschrieben: Di 17. Mai 2022, 15:06 Hi!
Doch, das ist der Punkt.
Wenn man str benutzt, kann man sich die sinnlose Zeit mit dem Lesen der Docs des MessageComposers oder von format sparen.
Eine Listbox nehmen, den Font auf irgendetwas monotypiges einstellen (Courier, Liberation Mono, ...) und das Thema ist erledigt.
Ich hab nie verstanden, warum die grundlegenden Pascal Funktionen wie str durch kompliziertere Routinen, die weniger können (format, floatToStr, ..) ersetzt worden sind.
Winni
Mathias hat geschrieben: Di 17. Mai 2022, 17:21 Weil ihr Deutschen und Österreicher in der Office Welt lieber ein Komma anstelle des Punktes als Dezimaltrenner habt, ...
Nach diesem Lieblingsthema kommt als nächstes eine Neuauflage der Windows-gegen-Linux-Keilerei?Winni hat geschrieben: Di 17. Mai 2022, 17:32 Da kann es doch nicht das Problem sein sich mal an den Punkt als Dezimal-Trenner zu gewöhnen
Ich geb zu, das Beispiel war nicht so toll, weil die Luft-Temperatur negativ sein kann. Aber schon bei der Körpertemperatur sieht dein Vorschlag seltsam aus: "Fieber: +39°"...Niesi hat geschrieben: Di 17. Mai 2022, 16:43 Ich würde in dem Fall einfach ein Plus mit ausgeben. Wieso das Minus so bevorzugen?
Code: Alles auswählen
const Vorzeichen : array[boolean] of string = ('-','+');
var f : single;
s : string;
begin
f := -1.23;
str(abs(f),s);
s := Vorzeichen [f>=0] + s;
showMessage (s);
end;
Das Beispiel ist schon in Ordnung, mir fiel das mit dem Plus nur sehr spontn ein.wp_xyz hat geschrieben: Di 17. Mai 2022, 19:07 Ich geb zu, das Beispiel war nicht so toll, weil die Luft-Temperatur negativ sein kann. Aber schon bei der Körpertemperatur sieht dein Vorschlag seltsam aus: "Fieber: +39°"...
Oder aus der Computerei: "Freier Speicher: +313 GB" (gibt es eine negative Speicherkapazität? Vielleicht für "negative Logik", in der 0 und 1 vertauscht sind?)
Wenn es kompatibel zu Delphi gemacht wurde, dann ist das ausreichend als Begründung.af0815 hat geschrieben: Di 17. Mai 2022, 17:26 Nur sind diese Trenner wesentlich älter als die ganzen Computer. Und warum sollen wir diese Anglizismen annehmen![]()
![]()
![]()
DIe Antwort die ich bisher dazu bekommen habe -> Das ist Delphicompatibel.![]()
BTW: Dem Programm ist das Dezimalzeichen wurscht - nur die Darstellungsschicht benötigt es in beiden Richtungen.
Das ist dasselbe wie zwischen mm und Zoll, und den Ansichten auf technischen Zeichnungen.six1 hat geschrieben: Mi 18. Mai 2022, 07:40 dann frage ich dich, wer auf die schwachsinnige Idee kam, den Punkt als Standard festzulegen, wenn es (bei uns) ein Komma ist?![]()