Wie kann die Pixellänge einer Zeichenfolge bestimmt werden?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich möchte die Breite eines Listenfelds basierend auf der Länge der darin angezeigten Zeichenfolgen ändern, aber ich weiß nicht, wie ich die Zeichenfolgenlänge in Pixel bestimmen soll. Ich gehe davon aus, dass es mit der verwendeten Schriftart und -größe zusammenhängt, aber ich weiß auch nicht, wie ich das bestimmen kann. Anregungen werden gebeten.
Re: Wie kann die Pixellänge eines Strings bestimmt werden?Es scheint also möglich, aber nicht einfach zu sein.
Da das Skript, das ich schreibe, nur für den internen Gebrauch bestimmt ist, bleibe ich bei meiner derzeitigen Lösung, das Listenfeld in ein Bildlauffeld zu setzen und das Listenfeld breiter zu gestalten als die längste Zeichenfolge, die ich wahrscheinlich bin Begegnung.
Vielen Dank an alle für Ihre hilfreichen Antworten.
Hier ist die Codezeile für den Fall, dass jemand interessiert ist.
ScrollBox (Größe (10, 200), flexibel (1), fileLb2 = ListBox ({}, Breite (1500), nlines (100)))
Re: Wie kann die Pixellänge eines Strings bestimmt werden?Ah ... jetzt verstehe ich. Vielen Dank.
Re: Wie kann die Pixellänge eines Strings bestimmt werden?Sie können von JMP die Größe eines Textfelds angeben, das eine Zeichenfolge enthält, nachdem die Zeichenfolge angezeigt wurde.
New Window( "x", t = Text Box( "" ) );
strings = {"a", "aa", "aaa", "i", "ii", "iii", "aaaiii", "the quick brown fox"};
For( i = 1, i <= N Items( strings ), i++,
t << settext( strings );
t << reshow;
Write( strings, t << getsize, "\!n" );
);
a {10, 24}
aa {19, 24}
aaa {28, 24}
ich {6, 24}
ii {10, 24}
iii {14, 24}
aaaiii {41, 24}
der schnelle braune Fuchs {154, 24}
Re: Wie kann die Pixellänge eines Strings bestimmt werden?... und wäre es nicht cool, wenn Ihre ursprüngliche Frage eindeutig beantwortet würde?
Während die Schriftgröße in Punkten mittlerweile ziemlich Standard ist (1/72 in = 1 Punkt), wird die Pixellänge einer Zeichenfolge leider durch den Betriebssystemtyp und die Anzeigeauflösung bestimmt, für die die Zeichenfolge angezeigt wird. Sie können weniger eindeutig sein, wenn Sie die Spezifikation des Betriebssystems und die Bildschirmauflösung einschränken.
Re: Wie kann die Pixellänge eines Strings bestimmt werden?Ich verwende den Skriptindex, um herauszufinden, wie die Nachrichten funktionieren: Hilfe-> Skriptindex. suche nach "set font". 

Re: Wie kann die Pixellänge eines Strings bestimmt werden?Danke Ian, das hilft. Gibt es einen Unterschied zwischen Schriftart und Schriftartname?
Re: Wie kann die Pixellänge eines Strings bestimmt werden?Nur eine teilweise Antwort, aber das Listenfeld antwortet auf die folgenden Meldungen:
Schriftart einstellen [Schriftart] [Nur Scripting]
Legen Sie den Namen der Schriftart fest [Aktion] [Nur Scripting] (Schriftname)
Schriftstil einstellen [Zeichen] [Nur Scripting]
Schriftgröße einstellen [Aktion] [Nur Scripting] (7 | 9 | 10 | 12 | 14 | 18 | 24 | ...)
Holen Sie sich die Schriftart [Aktion] [Nur Scripting]
Ermitteln Sie den Namen der Schriftart [Aktion] [Nur Scripting]
Holen Sie sich den Schriftstil [Aktion] [Nur Scripting]
Holen Sie sich die Schriftgröße [Aktion] [Nur Scripting]