Autor Beitrag
r0land
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Di 19.05.09 01:11 
Hi


Von VB kenne ich die Funktion Space(X), mit der man einen String mit X Leerzeichen erzeugen kann. Bin auch der meinung, daß ich eine ähnliche Funktion kenne mit der man eine Zeichenkette mit beliebigem Inhalt erzeugen kann. Aber da weiß ich jetzt nicht mehr, obs von VB, PHP oder eigenen Funktionen kam...

Im Moment benutze ich

ausblenden Quelltext
1:
2:
string X = "";
X = X.PadRight(20,"*");

... was ich irgendwie blöd finde, aber den Zweck erfüllt. ^^

Gibts da eine bessere Lösung? Oder muss ich eine Funktion selber schreiben?


Grüße
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 19.05.09 01:24 
Was gefällt dir daran denn nicht?

Du kannst ja auch einfach schreiben:
ausblenden C#-Quelltext
1:
"".PadRight(20)					
also z.B.
ausblenden C#-Quelltext
1:
MessageBox.Show(">" + "".PadRight(20) + "<");					
Und schon hast du da 20 Leerzeichen.
r0land Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Di 19.05.09 03:38 
Oh schön. Danke für das Beispiel!

Was mir daran nicht gefällt? Naja, das hat was mit Ordnungswahn zu tun. ^^

Aber ich werde es überleben. Und zur Not schreibe ich mir halt meine eigene Space-Funktion.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 19.05.09 05:31 
user profile iconr0land hat folgendes geschrieben Zum zitierten Posting springen:
Naja, das hat was mit Ordnungswahn zu tun. ^^
Was ist daran Ordnung, nur weil eine Funktion anders heißt? :shock:

Du kannst es auch so machen, wenn dir PadRight nicht gefällt:
ausblenden C#-Quelltext
1:
MessageBox.Show(">" + new String(' '20) + "<");					
r0land Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Di 19.05.09 06:32 
Na das ist doch mal was.

Vielen Dank für den letzten Tipp :)
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Di 19.05.09 09:53 
Als Ergänzung zu den letzten Bemerkungen: Das ist ein Grund dafür, dass ich immer für das Blättern in der SDK-Doku/MSDN plädiere. Nur dadurch findet man heraus, welche Überladungen (hier: Konstruktoren für string) es gibt. Jürgen
r0land Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Di 19.05.09 12:42 
Schon recht. Die MSDN habe ich auch zu Rate gezogen... das mache ich immer zuerst. Denn damit komme ich meistens schneller zum Ziel, als irgendwo im Forum zu fragen und auf Antwort zu warten, so denn eine kommt (wofür ich dann dankbar bin).

Offensichtlich hab ich aber falsch gesucht... zB nach Schlüsselwörtern, Membern, Methoden, Space, String create, String format und was noch alles.

Bin auch auf die Idee gekommen, daß es irgendwie mit String.xx funktionieren könnte. War bestimmt ne Stunde in der Hilfe unterwegs. Aber leider bin ich nicht über die Überladungen gestolpert.

Verzeihung :/

Nächstes mal suche ich einfach noch ne Stunde länger oder baue mir gleich ne eigene Funktion, wobei ich dann hoffentlich keine weitere Hilfe in Anspruch nehmen muss. :)

Grüße
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Di 19.05.09 13:01 
user profile iconr0land hat folgendes geschrieben Zum zitierten Posting springen:
Offensichtlich hab ich aber falsch gesucht... zB nach Schlüsselwörtern, Membern, Methoden, Space, String create, String format und was noch alles.

Bin auch auf die Idee gekommen, daß es irgendwie mit String.xx funktionieren könnte. War bestimmt ne Stunde in der Hilfe unterwegs. Aber leider bin ich nicht über die Überladungen gestolpert.

Weniger die Suchfunktion als das gezielte Blättern ist hilfreich. Vorschlag zum künftigen Vorgehen:

Offline-Hilfe: Ich habe mir die SDK-Doku während der SDK-Installation als Offline-Version installiert. Diese ist per AutoStart immer geöffnet:
ausblenden Quelltext
1:
2:
3:
4:
"C:\Programme\Gemeinsame Dateien\Microsoft Shared\Help 8\dexplore.exe" 
   /helpcol ms-help://MS.NETFramework.v20.de 
   /LaunchNamedUrlTopic DefaultPage 
   /usehelpsettings NETFrameworkSDK.20

Dort greife ich über den Index schnell zu auf "String-Klasse - Alle Member".

Online-Hilfe: Über MSDN > MSDN Library > .NET Entwicklung > .NET Framework SDK 2.0 > Referenz zur Klassenbibliothek sucht man sich den gewünschten Namespace und die Klasse aus und wählt dann "Member", z.B. String-Member.

Dort gibt es eine Liste mit allen Eigenschaften, Methoden und Ereignissen mit einer kurzen Beschreibung. Das Wörtchen "Überladen" bei den Beschreibungen macht sofort klar, dass es interessant sein kann, genauer nachzulesen.

Statt "Alle Member" kann man natürlich auch direkt zu allen Eigenschaften usw. oder zu einem speziellen Eintrag gehen. In der IDE führen F1 oder die Pause nach dem Punkt ("Intellisense") genauso zum Ziel.

Du wirst sehen, dass das schneller zum Ziel führt und keine "stundenlange Suche" nötig macht. Jürgen