Diskussion zum Artikel "PrintFormat() studieren und vorgefertigte Beispiele anwenden" - Seite 2

 

Artem, bitte erklären Sie auch dies:

//--- Schreiben Sie den Wert mit Ziffern gleich 2 и указываем, что свойство отображается в процентах
   PrintFormat("%*s%-*s%-.2 f %%",indent,"",w,header,AccountInfoDouble(ACCOUNT_MARGIN_LEVEL));

Die Randbreite und der Text "Randhöhe:" und was bedeutet das?

Ich habe experimentiert, aber ich kann keine Erklärung formulieren.

 
Alexey Viktorov #:

Artem, erklären Sie mir das bitte noch einmal:

Randbreite und der Text "Margin level:", und was bedeutet das?

Ich habe experimentiert, aber ich kann keine Erklärung formulieren.

Zeilenrand vom linken Rand
 
Artyom Trishkin #:
Zeileneinzug vom linken Rand aus

Aber warum gibt es eine Leerzeile ""? Weil eine leere Zeile die Länge 0 hat. Egal, wie viele leere Zeilen Sie einfügen, sie sind immer leer. Wenn Sie dort aber einen Text einfügen, wird dieser Text anstelle des Einzugs angezeigt und es gibt keinen Einzug....

Dies ist das erste Mal, dass ich unzureichende Informationen in der Dokumentation gesehen habe. Dies bestätigt einmal mehr die Nützlichkeit Ihrer Artikel. Ich danke Ihnen.

 
Alexey Viktorov #:

Aber warum gibt es eine leere Zeichenfolge ""? Weil die leere Zeichenkette eine Länge von 0 hat. Egal, wie viel Leerraum Sie in sie einfügen, sie bleibt leer. Wenn Sie aber dort einen Text einfügen, wird dieser Text anstelle des Einzugs angezeigt und es gibt keinen Einzug....

Dies ist das erste Mal, dass ich unzureichende Informationen in der Dokumentation gesehen habe. Dies bestätigt einmal mehr die Nützlichkeit Ihrer Artikel. Ich danke Ihnen.

Das Leerzeichen befindet sich in der Formatierungszeichenfolge. Lesen Sie diese Artikelserie von Anfang an - ich habe dieses Design dort beschrieben
 
Artyom Trishkin #:
Das Leerzeichen befindet sich in der Formatzeichenfolge. Lesen Sie diese Artikelserie von Anfang an - dort habe ich diese Konstruktion beschrieben

Ja, ich entschuldige mich. Ich habe nur bis zu

Formatierte Ausgabe von Zähleigenschaften

und habe dann ein Stück weiter übersprungen....

Dies bestätigt einmal mehr die Nützlichkeit Ihrer Artikel. Ich danke Ihnen.

 
Artyom Trishkin #:
Zeileneinzug vom linken Rand aus

Meine Experimente haben gezeigt, dass es möglich ist, vor jedem Feld einzurücken

 PrintFormat("%*sText_1%12sText_2", 5,"","");

/*
 Text_1 Text_2
*/
 
Alexey Viktorov #:

Meine Experimente haben gezeigt, dass man vor jedem Feld einrücken kann

Natürlich. Der Artikel zeigt es nur als Ergänzung zu den Referenzmaterialien anhand eines einfachen Beispiels. Jemand, der ihn nur liest/nicht liest, und jemand, der ihn gesehen hat, experimentiert und zieht daraus nützliche Schlüsse für sich selbst ;)

HI. Jetzt wissen Sie, wie Sie jede Einrückung/Leerzeichengröße, die durch eine Variable festgelegt ist, an jeder beliebigen Stelle eines Textstrings vornehmen können

 

Auf diese Weise können Sie die Anzahl der Leerzeichen angeben:

   PrintFormat("%*sText_1%*sText_2", 5,"",12,"");

/*
 Text_1 Text_2
*/

Wenn in einer Formatzeichenfolge Zahlen verwendet werden, um die Ziffernkapazität von etwas anzugeben, können Sie im Allgemeinen ein Sternchen ersetzen und dann den erforderlichen Wert in den Parametern angeben. Wenn Sie es in Ihrer Funktion verwenden, übergeben Sie in den formalen Parametern den erforderlichen Wert, um eine Zeichenkette mit der gewünschten Ziffer/Genauigkeit/Anzahl der Zeichen zu bilden

 
Artyom Trishkin formalen Parametern den erforderlichen Wert, um eine Zeichenkette mit der erforderlichen Ziffer/Genauigkeit/Anzahl der Zeichen zu bilden

Ich habe es absichtlich anders gemacht, mit einem Sternchen * und direkt in der Formatzeichenfolge.

Ich habe auch damit experimentiert, die Formatzeichenkette in einer Variablen vom Typ String zu speichern und sie einzufügen - es funktioniert. Das heißt, wenn Sie den gleichen Typ von Zeichenketten mehrmals ausgeben müssen, können Sie eine Variable verwenden, die die Formatzeichenfolge enthält, so dass Sie sie nicht mehrmals eingeben und eine separate Funktion schreiben müssen.

 
Alexey Viktorov #:

Ich habe es absichtlich anders gemacht, mit einem Sternchen * und direkt im Formatstring.

Ich habe auch damit experimentiert, die Formatzeichenkette in einer Variablen vom Typ String zu speichern und sie einzufügen - es funktioniert. Das heißt, wenn Sie den gleichen Typ von Strings mehrmals ausgeben müssen, können Sie eine Variable verwenden, die den Format-String enthält, so dass Sie ihn nicht mehrmals eingeben und eine separate Funktion schreiben müssen.

Ich würde gerne ein Beispiel anhängen...)