![]() |
AW: mehrere Strings in einen String vereinen (mit fixer Länge + festen Positionen)
@himitsu 5. bis 33. Stelle sind 29 Zeichen und nicht 28 ;)
36. bis 40. Stelle sind ja auch 5 Zeichen ;) Somit sind es 39 Zeichen die er beschrieben hat, aber er hat sich mit der 34. Stelle vertan und unter den Tisch fallen lassen ;) und dann sind es 40 |
AW: mehrere Strings in einen String vereinen (mit fixer Länge + festen Positionen)
Sag ich ja :mrgreen:
Zitat:
Die 29 hatte ich mir auch ausgerrechnet. Aber dennoch fehlt ein Zeichen (die 34), da er ja 40 Zeichen haben will. 3 + 1 + 29 + 1 + 5 = 39 |
AW: mehrere Strings in einen String vereinen (mit fixer Länge + festen Positionen)
Zitat:
Zitat:
Zitat:
(Ok - da es hier genau 40 sind, hätte man auch 40 reinschreiben können) Zitat:
Habs dann erst bemerkt, als ich den String an ein LCD-Modul gesendet hatte (daher auch die 40 = max. Zeichen pro Zeile) (Man sollte so spät nicht mehr rechnen) Zitat:
Zitat:
Da ich es weiter dann auch als String benötige, wandle ich es nicht unnötigerweise erst in einen Integer. Auserdem ist Linie keine Zahl - sondern eine Linien-Angabe einer U-Bahn :-) |
AW: mehrere Strings in einen String vereinen (mit fixer Länge + festen Positionen)
Passt jetzt zwar nicht zu der Ausgangs Problematik, aber mir sträuben sich gerade alle Nackenhaare bei:
Zitat:
Basierend auf der unit aus ![]()
Delphi-Quellcode:
und diesen Visitor hat man im 0, auch um weitere Klassen erweitert, um auch diese auf dem LCD darstellen zu können.
uses
..., uVisitor; type TSubway = class property Line : string; property Destination : string; end; TSubwayArrival = class property Subway : TSubway; property ArrivalAt : TDateTime; end; // Der Einfachheit halber wird hier nur in eine Variable geschrieben // Es könnte aber auch direkt die Ausgabe an das LCD-Modul erfolgen // Oder an eine Klasse, die das LCD-Modul selber betreut :o) TLCDVisitor = class( TVisitor ) private FLine : string; public property Line : string read FLine; published procedure VisitSubwayArrival( Instance : TSubwayArrival ); end; procedure TLCDVisitor.VisitSubwayArrival( Instance : TSubwayArrival ); begin FLine := { hier jetzt der Code um die Instanz auszugeben } end; Ja und der Aufruf sieht dann immer so aus (egal welche Instanz und welche Klasse auch immer):
Delphi-Quellcode:
MyLCDVisitor.Visit( SomeInstance );
|
AW: mehrere Strings in einen String vereinen (mit fixer Länge + festen Positionen)
Zitat:
Ich lese den Inhalt eine Zelle aus, der als String vorliegt und in eine String-Variable geschrieben wird - was ist daran jetzt auf einmal so verwerflich? Seit wann darf man das nicht mehr? |
AW: mehrere Strings in einen String vereinen (mit fixer Länge + festen Positionen)
Zitat:
|
AW: mehrere Strings in einen String vereinen (mit fixer Länge + festen Positionen)
Zitat:
Stimmt! Damit kann man das auch noch einfacher schreiben und StrUtils weglassen:
Delphi-Quellcode:
result := Format('%-3.3s %-29.29s %-5.5s', [a, b, c]);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz