FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Tout est tranquille
par Jean Claude Hier à 21:41

» Texte en gif animé
par JL35 Hier à 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par pascal10000 Ven 15 Sep 2017 - 16:20

» Compilateur FBPano
par jean_debord Ven 15 Sep 2017 - 9:59

» 1 (en analyse): 3D_TARGET_IS ne fonctionne pas sur 3D_TEXT
par Jack Jeu 14 Sep 2017 - 19:52

» Problème avec la 3D.
par Jack Jeu 14 Sep 2017 - 18:06

» Test de la 3D.
par mindstorm Mer 13 Sep 2017 - 19:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Z=TEXT_WIDTH (A1$,1)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Severin



Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MessageSujet: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 1:23

Hallo Klaus, hallo Panoramic's

erstmal Klaus, weiter guten Genesunungsverlauf und übernimm dich nicht.
Wie ich sehe bist schon wieder sehr aktiv.
Ich benutze mal deine WEB-Seite.


1. Ich schreibe einfache Sätze wegen der Übersetzung.
Nicht wundern.

Ich habe ein Problem mit einem Rahmen auf der Form.
Durch die neuen Befehle

danke Jack.

ZB2% = TEXT_WIDTH(ZA2$,9001)

dachte ich es ist einfach einen horizontalen Rahmen zuerstellen.
Aber, links und rechts ist der Formrahmen. Anzahl Pixel ?
Dann hat jedes Zeichen 1 Pixel leer.
Bleibt eine Restbreite.
Diese kann dann x Zeichen aufnehmen.
Jedoch reicht diese Breite nicht für alle Zeichen.

Je nach Bildschirmgrösse unterschiedlich.
Ich habe hier 3 verschiedene Monitore.
Ich will din Rahmen mit "Terminal 8" erstellen.
Ich möchte eins SUB wie für meine Scrtiftarten erstellen.

Ich stelle mein Testprogramm hier ein.


1. J'écris de simples propositions à cause de la traduction.
N'étonnent pas.

J'ai un problème avec un cadre sur la forme.
Par les nouveaux ordres(commandes)

Merci Jack.

Les % ZB2 = TEXT_WIDTH (ZA2 $, 9001)

Si je pensais est simplement un cadre horizontal zuerstellen.
Mais si, à gauche et à droite est le cadre de forme. Quantité de pixel ?
Alors, chaque signe(caractère) a vide 1 pixel.
Si une largeur résiduelle reste.
Alors, celui-ci peut prendre(ajouter) x le signe(caractère).
Mais cette largeur ne suffit pas pour tous les signes(caractères).

Selon la grandeur d'écran diversement.
J'ai ici 3 Monitore différents.
Je veux produire din le cadre avec le "terminal 8".
Je voudrais produire uns SUB comme pour mon Scrtiftarten.

Je règle(engage) ici mon programme de test.


1. I write simple sentences because of the translation.
Do not surprise.

I have a problem with a frame on the form.
By the new orders

thanks Jack.

% ZB2 = TEXT_WIDTH (ZA2 $, 9001)

if I thought is simply a horizontal frame zuerstellen.
But if, on the left and on the right is the form frame. Number of pixel?
Then every mark has 1 pixel empty.
If a rest width remains.
Then this can take(accept) x mark.
But this width does not reach(does not be enough) for all marks.

According to screen size differently.
I have here 3 different Monitore.
I want to create(provide) Din. of frame with " terminal 8 ".
I would like to create(provide) one SUB like for my fonts.

I put my test program here.



Code:
' TEXT_HEIGHT (A$ N): gibt die Höhe in Pixel
' TEXT_WIDTH  (A$,N), gigt die Breite in Pixel
'
Label SCHRIFTARTEN
'
alpha 001
alpha 002
alpha 003
alpha 004
alpha 005
'
DIM ZB2%
DIM ZZ2%
DIM ZZ3%
'
Dim Y2
Dim Y3
Dim Y4
'
DIM TEXT2$:TEXT2$="Höhe in Pixel"
DIM RAHMENAUFFORMOBEN$
'
Dim Schriftart
DIM Schriftgroesse%
Dim SCHRIFT_HOEHE%
Dim SCHRIFT_BREIT%
DIm A1$:A1$=CHR$(186)
DIm A2$
DIm A3$
'
' ******************************************************************************
Schriftgroesse% = 8  :' <====  Hier Schriftgröße einstellen
' ****************************************************************************'*
'
' FORM            000 DEFINIEREN
color              000,0,255,0
width              000,INT(SCREEN_X)
height            000,INT(SCREEN_Y)
'
Print_Locate 40,20:Print "Screen width Pixel"
Print_Locate 40,40:Print Screen_X
' *** SCHRIFTZEICHEN ***********************************************************
show        001
top          001,001
left        001,001
SCHRIFTART = 001
Gosub Schriftarten
' caption      001,A1$
'
' *** SCHRIFTHÖHE IN PIXEL *****************************************************
show        002
top          002,080
left        002,040
SCHRIFTART = 002
Gosub Schriftarten
Print_Locate 40,60:Print "TEXT HEIGHT"
caption      002,TEXT_HEIGHT (A1$,1)
'
' *** SCHRIFTBREITE IN PIXEL ***************************************************
show        003
top          003,120
left        003,040
SCHRIFTART = 003
Gosub Schriftarten
Print_Locate 40,100:Print "TEXT WIDTH"
caption      003,TEXT_WIDTH (A1$,1)
'
ZB2% = TEXT_WIDTH (A1$,1)        :' Zeichenbreite ermitteln
' Print_Locate 40,140:Print ZB2%
'
ZZ2% = Screen_x/ZB2%            :' Anzahl Zeichen auf Bildschirmbreite
Print_Locate 40,140:Print "Anzahl Zeichen auf Screen width"
Print_Locate 40,160:Print ZZ2%
'
'
' ******************************************************************************
'
ZZ2% = ZZ2% -2                  :' - 2 Zeichen für CHR$(201)-CHR$(187)
'
ZZ3% = ZZ2% -1                  :' - 1 Zeichen für Rahmen links und rechts
'
RAHMENAUFFORMOBEN$ = CHR$(201) + STRING$(ZZ3%,CHR$(205)) + CHR$(187)
'
show        004
top          004,400
left        004,0
SCHRIFTART = 004
Gosub Schriftarten
caption      004,RAHMENAUFFORMOBEN$
'
' RAHMENAUFFORMOBEN$ = CHR$(201) + STRING$(ZZ3%,CHR$(205)) + CHR$(187)
'
show        005
top          005,440
left        005,-1
SCHRIFTART = 005
Gosub Schriftarten
caption      005,RAHMENAUFFORMOBEN$



end
'
' ******************************************************************************
' *** Schriftart TERMINAL  *****************************************************
SCHRIFTARTEN:
'
font_name          SCHRIFTART,"Terminal"
font_size          SCHRIFTART,Schriftgroesse%
font_bold          SCHRIFTART
font_underline_off SCHRIFTART
' font_underline    SCHRIFTART
font_strike_off    SCHRIFTART
font_italic_off    SCHRIFTART
font_color        SCHRIFTART,0,0,0
'
RETURN
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 2:34

Die Breite des Rahmens scheint 3 Pixel auszumachen und ist in des Fensterbreite inbegriffen. Ich habe ein kleines Demo-Programm erstellt mit einer Fensterbreite von 300 Pixel. In des Schriftart "Terminal", jedes Zeichen soll 6 pixel breit sein, also sollten 50 Zeichen in eine Zeile passen. Wenn man aber Deinen Rahmen mit 48 horizontalen Zeichen und den beiden Ecken ausdruckt, verschwindet die rechte Ecke. Nun zu einem Fenster von 306 Pixel Breite: da ist das letzte Zeichen voll da, un mit 307 pixel ist sogar der winzige kleine Rand noch zu sehen.

Ratschlag: für jeden Rand 3 pixel abziehen, eventuell ein Pixel mehr abziehen.

Hier ist das Programm:
Code:
dim a$, b$
form 1 : width 1,300 : height 1,300 : top 1,10 : left 1,200
caption 1,"Breite 300 Pixel"
font_name 1,"Terminal"
form 2 : width 2,307 : height 2,300 : top 2,320 : left 2,200
caption 2,"Breite 307 Pixel"
font_name 2,"Terminal"
Print Screen_X
a$ = chr$(205)
print TEXT_WIDTH(a$,1)
b$ = string$(48,a$)
print TEXT_WIDTH(b$,1)
print_target_is 1
print CHR$(201) + STRING$(48,CHR$(205)) + CHR$(187)
print_target_is 2
print CHR$(201) + STRING$(48,CHR$(205)) + CHR$(187)
end

Français:
La largeur du cadre semble correspondre à 3 pixels et est incluse dans la largeur de la fenêtre. J'ai fait un petit programme-démo avec une largeur de 300 pixels. Avec la font "Terminal", chaque caractère doit avoir une largeur de 6 pixels, on devrait donc pouvoir placer 50 caractères. Mais losqu'on imprime ton cadre avec 48 symboles horizontaux et les deux coins, le coin de droite disparaît. Maintenant avec une fenêtre de 306 pixels: le dernier signe apparaît pleinement, et avec 307 pixels, il y a même le petit bord blanc.

Conseil: pour chaque bord, déduire 3 pixels, éventuellement un pixel supplémentaire

English:
The windowborder seems to take 3 pixels and thos pixels are included in the window width. I made a little demo program using a 30 pixel wide window. With the font "Terminal", each character takes 6 pixels, so 50 characters should fit into line. But if I print 48 horizontal signs plus the two corners, the right corner will disappear. Now with a 306 pixel wide window, the right corner is fully visible, and with e 307 pixel window, there is even the tiny white border.

Advise: subtract 3 pixels for each border, eventually one additionnal pixel.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 4:15

Sous Windows 7, le cadre semble faire plus de 3 pixels par défaut...

Code:

dim a$
font_name 0,"Terminal"
a$=string$(48,chr$(205))+chr$(187)
width 0,TEXT_WIDTH(a$,0)+15
print a$
Pour que ca marche, il m'a fallu rajouter 15 pixels...

EDIT 05/11/11 - 03:18 : Pour obtenir la taille correcte... Wink

Code:
dim border_size: picture 2:full_space 2:border_size=width(0)-width(2):delete 2
dim caption_height% : height 0,0 :  caption_height% = height(0)
height 0,200

dim i

font_name 0,"Terminal"
font_size 0,12

dim text_w:text_w=TEXT_WIDTH(" ",0)
dim text_h:text_h=TEXT_HEIGHT(" ",0)
' ------------------------------------------------------------------------------
' FORM 0 :
'  width  = 50 characters
'  height = 12 characters
' ------------------------------------------------------------------------------
width  0, (text_w * 50) + border_size
height 0, (text_h * 12) + caption_height%

DIM a$

' box :
a$ = chr$(201)+string$(48,chr$(205))+chr$(187)
print_locate 0,0:print a$
for i=1 to 10
  print_locate 0, text_h * i
  print chr$(186)
  print_locate 49 * text_w , text_h * i
  print chr$(186)
next i
a$ = chr$(200)+string$(48,chr$(205))+chr$(188)
print_locate 0,11 * text_h:print a$


print_locate 3 * text_w, 2 * text_h
print "Terminal  size: 12"
print_locate 3 * text_w, 3 * text_h
print "Breite des Rahmens:"+str$(border_size)

print_locate 3 * text_w, 4 * text_h
print "text_w :"+str$(text_w) +" px"

print_locate 3 * text_w, 5 * text_h
print "text_h :"+str$(text_h)+" px"


print_locate 3 * text_w, 7 * text_h
print "        "+chr$(219) + chr$(177)+chr$(219)+chr$(177)+chr$(219)+chr$(177)+chr$(219)
print_locate 3 * text_w, 8 * text_h
print "char  :"+chr$(177) + chr$(205)+chr$(186)+chr$(187)+chr$(188)+chr$(200)+chr$(201)
print_locate 3 * text_w, 9 * text_h
print "        "+chr$(219) + chr$(177)+chr$(219)+chr$(177)+chr$(219)+chr$(177)+chr$(219)

@Severin : Je te remet ici le code du post sur la DLL FORM.
C'est une autre façon de faire pour avoir des bordures dans ton formulaire
(Dans cet exemple, la DLL n'est pas obligatoire) Wink
Code:
' Protection
LABEL EndProg
ON_CLOSE 0,EndProg
ON_ERROR_GOTO EndProg

' Load the DLL :
DIM dll_ok : ' Flag : DLL is loading

IF FILE_EXISTS("form.dll")=1
  DLL_ON "form.dll"
  DIM dll_return
  dll_ok = 1
END_IF

LABEL Redraw  : ' Procedure : Refresh the box inside the form
LABEL Redraw2 : ' Procedure : Refresh the box inside the form  (without DLL)

' ---------------------------------------
' FORM 0 : DEFINITION
' ---------------------------------------
CAPTION 0,"FORM 0": WIDTH 0,SCREEN_X/2
' background
PICTURE 01:FULL_SPACE 01 : 2D_TARGET_IS 01 :2D_FILL_COLOR 238,235,217
' Text
ALPHA 03: LEFT 03,20:TOP 03,20

' ---------------------------------------
' FORM 10 : DEFINITION
' ---------------------------------------
FORM 10:COMMAND_TARGET_IS 10:CAPTION 10,"FORM 10"
TOP 10,TOP(0)+HEIGHT(0)+10 : WIDTH 10,SCREEN_X/2
ON_CLOSE 10,EndProg

' background
PICTURE 11:FULL_SPACE 11: 2D_TARGET_IS 11
2D_FILL_COLOR 238,235,217
' Text
ALPHA 13:LEFT 13,20:TOP 13,20

' ---------------------------------------
' REDRAW
' ---------------------------------------
DIM border_size : border_size=WIDTH(0)-WIDTH(1)
DIM caption_size: caption_size = HEIGHT(00)-HEIGHT(01)
DIM Form_H(2), Form_W(2)      : ' MEMO : Form dimensions
DIM Form_Active              : ' Id number of the form active
DIM Form_Id                  : ' index of Form_#( )


IF dll_ok = 1
  GOSUB Redraw : ' Redraw Form 10
  ' Set FORM 0 active
  dll_return = DLL_CALL1("SetFormActive",HANDLE(0))
  GOSUB Redraw : ' Redraw Form 0
  ' Start timer
  TIMER 200:TIMER_INTERVAL 200,50
  ON_TIMER 200,Redraw
ELSE
  TIMER 200:TIMER_INTERVAL 200,50
  ON_TIMER 200,Redraw2
END_IF

TIMER_ON 200
END

Redraw:
  IF OBJECT_EXISTS(200)=1 THEN TIMER_OFF 200
  Form_Active = DLL_CALL1("GetFormActive",handle(10))*10 : ' Form_Active = 0 or 10
  CAPTION Form_Active+3,"is Active"
  CAPTION BIN_XOR(Form_Active,10)+3,"is Inactive" : ' BIN_XOR : Change 0 <-> 10 (see documentation)

  Form_Id = Form_Active/10 : ' calc index for Form_#( ) --> 0 or 1
  ' if dimensions of FORM_Active has changed :
  IF (Form_W(Form_Id) <> WIDTH(Form_Active)) OR (Form_H(Form_Id) <> HEIGHT(Form_Active))
    Form_H(Form_Id) = HEIGHT(Form_Active) : Form_W(Form_Id) = WIDTH(Form_Active) : ' memo
    2D_TARGET_IS Form_Active+1 : ' before drawing the box, change the 2D_TARGET...
    FULL_SPACE Form_Active+1 :2D_CLEAR : COLOR Form_Active+1,228,234,221  : ' clear the picture
    ' and draw box :
    2D_RECTANGLE 10,10,Form_W(Form_Id)-border_size-10,Form_H(Form_Id)-caption_size-10
    2D_RECTANGLE 12,12,Form_W(Form_Id)-border_size-12,Form_H(Form_Id)-caption_size-12
  END_IF
  IF OBJECT_EXISTS(200)=1 THEN TIMER_ON 200
RETURN

' without DLL...
Redraw2:
  TIMER_OFF 200
  FOR Form_Id = 0 TO 1
    Form_Active = Form_Id * 10
    IF (Form_W(Form_Id) <> WIDTH(Form_Active)) OR (Form_H(Form_Id) <> HEIGHT(Form_Active))
      Form_H(Form_Id) = HEIGHT(Form_Active) : Form_W(Form_Id) = WIDTH(Form_Active) : ' memo
      2D_TARGET_IS Form_Active+1 : ' before drawing the box, change the 2D_TARGET...
      FULL_SPACE Form_Active+1 :2D_CLEAR : COLOR Form_Active+1,228,234,221  : ' clear the picture
      ' and draw box :
      2D_RECTANGLE 10,10,Form_W(Form_Id)-border_size-10,Form_H(Form_Id)-caption_size-10
      2D_RECTANGLE 12,12,Form_W(Form_Id)-border_size-12,Form_H(Form_Id)-caption_size-12
    END_IF
  NEXT Form_Id
  TIMER_ON 200
RETURN

EndProg:
  IF LEN(TRIM$(error_type$))<>0
    MESSAGE error_type$+" Line:"+STR$(error_line)
  END_IF
  if dll_ok=1 then DLL_OFF
  if OBJECT_EXISTS(200)=1 then TIMER_OFF 200
TERMINATE

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
JL35



Nombre de messages : 5951
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 16:39

J'ai fait la remarque ailleurs que le TEXT_WIDTH renvoyait systématiquement 2 pixels de moins que la réalité, quelle que soit la longueur de la chaîne (1 seul ou plusieurs caractères).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Severin



Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 17:56

Hallo JL,

ich habe in meinem Testprogramm auch für links -1 Pixel gesetzt. CHR$(201)
Damit steht das erste Zeichen direkt am Rahmen.
Also müsste ich für rechts auch -1 setzen. CHR$(187)
Die Formel ???
Screen_ REST = Screen_X - (Rahmen * 2) - 2 Pixel
Screen_REST ist die echte nutzbare Breite ???
Anzahl_Zeichen = Screen_REST / Zeichenbreite
Ich bin total durcheinander !!! confused

Ist dann die Position links = 0, Rahmenbreiten + 1 Pixel ??? Question

Severin

JL,

J'ai mis dans mon programme de test aussi pour à gauche 1 pixel. CHR $ (201)
Avec cela le premier signe(caractère) se trouve directement au cadre.
Donc je devrais mettre pour à droite aussi-1. CHR $ (187)
La formule ? ? ?
Screen_ le RESTE = Screen_X - (Encadrent * 2) - 2 pixels
Screen_REST est la largeur utilisable véritable ? ? ?
Anzahl_Zeichen = Screen_REST / la largeur de signe
Je suis total en désordre!!! confused

Est alors la position à gauche = 0, des largeurs de cadre + 1 pixel ? ? ? Question

Hello JL,

I have placed in my test program also for-1 pixels on the left. CHR (.201 $
With it the first mark stands directly in the frame.
Also I would have to set for on the right also-1. CHR (.187 $
The formula???
Screen_ REST(REMAINDER) = Screen_X - (Frame * 2) - 2 pixels
Screen_REST is the real usable width???
Anzahl_Zeichen = Screen_REST / mark width
I am total in a mess!!! confused

Is the position on the left = 0, frame-wide + then 1 pixel??? Question
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 18:52

Citation :

ich habe in meinem Testprogramm auch für links -1 Pixel gesetzt. CHR$(201)
Damit steht das erste Zeichen direkt am Rahmen.
Also müsste ich für rechts auch -1 setzen. CHR$(187)
Die Formel ???
Screen_ REST = Screen_X - (Rahmen * 2) - 2 Pixel
Screen_REST ist die echte nutzbare Breite ???
Anzahl_Zeichen = Screen_REST / Zeichenbreite
Ich bin total durcheinander !!! confused

Ist dann die Position links = 0, Rahmenbreiten + 1 Pixel ??? Question
die Formel Screen-REST scheint mir korrekt in Anbetracht Deines Abzugs von einem Pixel am linken Rand.

Damit wird allerdings die Position links oben durch folgende Koordinaten angegeben:
(x_links_oben,y_links_oben) = (Rahmenbreite,Rahmenbreite).
Logisch, nicht ?

La formule Screen-REST me semble correct,, compte tenu de ton retrait d'un pixel au bord gauche.

Par conséquant, la position à gauche en haut est donnée par les coordonnées suivantes:
(x_gauche_haut,y_gauche_haut) = (largeur_du_cadre,largeur_du_cadre)
Logique, non ?

The formula Screen-REST seems correct regarding the omitted pixel on the left border.

So, the position of the left upper border is given by the following coordinates:
(x_left_upper,y_left_upper) = (border_width,border_width)
Logic, isn't it ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 19:17

@JL35:
Si je compte bien le nb de pixel:

J'obtiens :
largeur : 12 px
hauteur : 16 px
donc TEXT_WIDTH et TEXT_HEIGHT fonctionnent correctement...

@Severin : Mes exemples ne sont pas clairs ? (surtout le n°2) scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Severin



Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 19:31

Danke Klaus,

könntest du mir deine Bildschirmabmessung geben.
Dann kann ich nochmal versuchen ein Supprogramm zuschreiben.
Dieses dann mit dir testen.

Es soll für alle Bildschirmmodi gültig sein.
Ich habe folgende Abmessungen:
1. 1280 x 1024
2. 1680 x 1050
3. 2560 x 1600

Entschuldige bitte das ich dein Forum benutze.

Es soll so einfach werden wie meine Schriftartroutine.
Danke im voraus
Severin

Ich übersetze trozdem damit die Panoramic's mitlesen können.

Merci Klaus,

Si tu pouvais me donner ton mesurage d'écran.
Alors, je peux encore essayer attribuent un Supprogramm.
Cela alors avec toi testent.

Cela doit être valable pour tous les modes d'écran.
J'ai les mesurages suivants :
1. 1280 x 1024
2. 1680 x 1050
3. 2560 x 1600

Excuse, s'il vous plaît, je ton forum utilise.

Cela doit aussi devenir simple que ma procédure de caractère.
Merci d'avance
Severin

Je traduis trozdem avec cela le Panoramic's peuvent lire.

Thanks Klaus,

if you could give me your screen dimension.
Then I can try again ascribe a Supprogramm.
This then with you test.

It should be valid for all screen procedures.
I have the following dimensions:
1. 1280 x 1024
2. 1680 x 1050
3. 2560 x 1600

Please excuse I your forum uses.

It should as become simple as my font routine.
Thanks in advance
Severin

I translate trozdem with it the Panoramic's can read.


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Severin



Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 19:45

Hallo Nardo,
Beispiel 2 sieht gut aus.
Aber ich möchte den Rahmen auf der Form.
Der Rahmen soll sich dynamisch an die Bildschirmauflösung anpassen.
Als SUB, damit die SUB sich automatisch anpasst.
Severin

Nardo,
L'exemple 2 paraît bien.
Mais je voudrais le cadre sur la forme.
Le cadre doit s'adapter avec dynamisme à la résolution d'écran.
Comme SUB pour que le SUB s'adapte automatiquement.
Severin

Hello Nardo,
Example 2 looks good.
But I would like the frame on the form.
The frame should dynamically adapt itself to the screen resolution.
As a SUB, so that the SUB automatically adapts itself.
Severin
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 20:06

@severin:
screen_x = 1280
screen_y = 800
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Severin



Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Sam 5 Nov 2011 - 21:21

Hallo Klaus,
erweiterter Test.

bei 1680 x 1050 passt genau

bei 1280 x 1024 fehlen 3 Pixel bis zum Rand

bei 2560 x 1600 1 Pixel zu lang

kannst du mir mitteilen wie dei Ergebnis ist ?

Wenn andere panoramic's mit anderen Auflösungen testen
und das Ergebniss hier einstellen, würde mich das freuen.

Danke für die Zeit dieses zu lesen und zu testen.
Severin


Klaus, test élargi.

A 1680 x 1050 convient exactement

A 1280 x 1024 manquent 3 pixels jusqu'au bord

A 2560 x 1600 1 pixel trop longtemps

Peux m'annoncer tu comme dei le résultat est ?

Si autre(différent) panoramic's avec d'autres résolutions testent et règlent(engagent) ici l'Ergebniss, cela me réjouirait.

Merci lire cela pour le temps et tester.
Severin


Hello Klaus, extended test.

with 1680 x 1050 fits just(exactly)

with 1280 x 3 pixels up to the border lack 1024

with 2560 x 1600 1 pixel too long

can you inform me like dei result is?

If other panoramic's with other dissolutions test and put the Ergebniss here, this would please me.

Thanks to read this for the time and to test.
Severin



Code:

' TEXT_HEIGHT (A$ N): gibt die Höhe in Pixel
' TEXT_WIDTH  (A$,N), gigt die Breite in Pixel
'
Label SCHRIFTARTEN
'
alpha 001:hide 001
alpha 002:hide 002
alpha 003:hide 003
alpha 004:hide 004
alpha 005:hide 005
'
alpha 020:hide 020
alpha 021:hide 021
alpha 022:hide 022
alpha 023:hide 023
alpha 024:hide 024
'
alpha 030:hide 030
alpha 031:hide 031
alpha 032:hide 032
alpha 033:hide 033
alpha 034:hide 034
'
alpha 055:hide 055
'
DIM ZB2%
DIM ZZ2%
DIM ZZ3%
DIM RB2%
'
Dim Y2
Dim Y3
Dim Y4
'
DIM TEXT2$:TEXT2$="Höhe in Pixel"
DIM RAHMENAUFFORMOBEN$
DIM RAHMENAUFFORNUNTEN$
DIM RAHMENAUFFORMLINKS$
DIM RAHMENAUFFORMRECHTS$
'
Dim Schriftart
DIM Schriftgroesse%
Dim SCHRIFT_HOEHE%
Dim SCHRIFT_BREIT%
DIm A1$:A1$=CHR$(186)
DIm A2$
DIm A3$
'
' ******************************************************************************
Schriftgroesse% = 8  :' <====  Hier Schriftgröße einstellen
' ****************************************************************************'*
'
' FORM            000 DEFINIEREN
color              000,0,255,0
width              000,INT(SCREEN_X)
height            000,INT(SCREEN_Y)
'
Print_Locate 40,520:Print "Screen width Pixel:  ",Screen_X
' *** SCHRIFTZEICHEN ***********************************************************
show        001
top          001,001
left        001,001
SCHRIFTART = 001
Gosub Schriftarten
' caption      001,A1$
'
' *** SCHRIFTHÖHE IN PIXEL *****************************************************
show        002
top          002,580
left        002,040
SCHRIFTART = 002
Gosub Schriftarten
Print_Locate 40,560:Print "TEXT HEIGHT:  ",TEXT_HEIGHT (A1$,1)
'
' *** SCHRIFTBREITE IN PIXEL ***************************************************
show        003
top          003,620
left        003,040
SCHRIFTART = 003
Gosub Schriftarten
Print_Locate 40,600:Print "TEXT WIDTH:  ",TEXT_WIDTH (A1$,1)
'
ZB2% = TEXT_WIDTH (A1$,1)        :' Zeichenbreite ermitteln
'
ZZ2% = Screen_x/ZB2%            :' Anzahl Zeichen auf Bildschirmbreite
Print_Locate 40,640:Print "Anzahl Zeichen auf Screen width:  ",ZZ2%
'
' *** Berechnung Rahmenbreite **************************************************
'
ZZ2% = ZZ2% -2                  :' - 2 Zeichen für CHR$(201)-CHR$(187)
'
ZZ3% = ZZ2% -1                  :' - 1 Zeichen für Rahmen links und rechts
'
RAHMENAUFFORMOBEN$ = CHR$(201) + STRING$(ZZ3%,CHR$(205)) + CHR$(187)
RB2% = TEXT_WIDTH (RAHMENAUFFORMOBEN$,1)        :' Zeichenbreite ermitteln
Print_Locate 40,660:Print "Rahmenbreite in Pixel: ",RB2%
'
show        004
top          004,-1
left        004,-1
SCHRIFTART = 004
Gosub Schriftarten
caption      004,RAHMENAUFFORMOBEN$
'
' *** Rahmen links *************************************************************
'
RAHMENAUFFORMLINKS$  = CHR$(186)
'
show        020
top          020,7
left        020,-1
SCHRIFTART = 020
Gosub Schriftarten
caption      020,RAHMENAUFFORMLINKS$
'
show        0021
top          0021,15
left        0021,-1
SCHRIFTART = 0021
Gosub Schriftarten
caption      0021,RAHMENAUFFORMLINKS$
'
show        0022
top          0022,23
left        0022,-1
SCHRIFTART = 0022
Gosub Schriftarten
caption  0022,RAHMENAUFFORMLINKS$
'
show        0023
top          0023,31
left        0023,-1
SCHRIFTART = 0023
Gosub Schriftarten
caption  0023,RAHMENAUFFORMLINKS$
'
show        0024
top          0024,39
left        0024,-1
SCHRIFTART = 0024
Gosub Schriftarten
caption  0024,RAHMENAUFFORMLINKS$
'
'
RAHMENAUFFORMRECHTS$ = CHR$(186)
'
show        030
top          030,7
left        030,RB2%-7
SCHRIFTART = 030
Gosub Schriftarten
caption  030,RAHMENAUFFORMRECHTS$
'
show        031
top          031,15
left        031,RB2%-7
SCHRIFTART = 031
Gosub Schriftarten
caption  031,RAHMENAUFFORMRECHTS$
'
show        032
top          032,23
left        032,RB2%-7
SCHRIFTART = 032
Gosub Schriftarten
caption  032,RAHMENAUFFORMRECHTS$
'
show        033
top          033,31
left        033,RB2%-7
SCHRIFTART = 033
Gosub Schriftarten
caption  033,RAHMENAUFFORMRECHTS$
'
show        034
top          034,39
left        034,RB2%-7
SCHRIFTART = 034
Gosub Schriftarten
caption  034,RAHMENAUFFORMRECHTS$
'
' ** RAHMENAUFFORNUNTEN$  = CHR$(200)+STRING$(ZZ3%,CHR$(205))+CHR$(188) ********
'
RAHMENAUFFORNUNTEN$  = CHR$(200) + STRING$(ZZ3%,CHR$(205)) + CHR$(188)
'
show        055
top          055,47
left        055,-1
SCHRIFTART = 055
Gosub Schriftarten
caption      055,RAHMENAUFFORNUNTEN$
'
end
'
' ******************************************************************************
' *** Schriftart TERMINAL  *****************************************************
SCHRIFTARTEN:
'
font_name          SCHRIFTART,"Terminal"
font_size          SCHRIFTART,Schriftgroesse%
font_bold          SCHRIFTART
font_underline_off SCHRIFTART
' font_underline    SCHRIFTART
font_strike_off    SCHRIFTART
font_italic_off    SCHRIFTART
font_color        SCHRIFTART,0,0,0
'
RETURN
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Dim 6 Nov 2011 - 1:01

Bei mir: 1280x800: passt genau !

Chez moi: 1280x800: s'ajuste impeccablement !

On my system: 1280x800: fits exactly !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Dim 6 Nov 2011 - 1:44


Correct in all resolution :

Code:

DIM border_size: PICTURE 2:full_space 2:border_size=width(0)-width(2):delete 2
DIM caption_height% : HEIGHT 0,0 :  caption_height% = HEIGHT(0)

font_name 0,"Terminal"
font_size 0,12

DIM text_w:text_w=TEXT_WIDTH(" ",0)
DIM text_h:text_h=TEXT_HEIGHT(" ",0)

DIM form_w,form_h
DIM nb_line: nb_line = 20
DIM nb_col : nb_col = INT((SCREEN_X-border_size)/text_w)
DIM i

WIDTH 0,(nb_col * text_w) + border_size
HEIGHT 0,(nb_line * text_h) + caption_height%


' box :
PRINT_LOCATE 0,0
PRINT CHR$(201) + STRING$(nb_col - 2, CHR$(205)) + CHR$(187)
FOR i = 1 TO nb_line - 2
  PRINT_LOCATE 0, text_h * i
  PRINT CHR$(186)
  PRINT_LOCATE (nb_col-1) * text_w, text_h * i
  PRINT CHR$(186)
NEXT i
PRINT_LOCATE 0,(nb_line-1) * text_h
PRINT CHR$(200) + STRING$(nb_col - 2, CHR$(205)) + CHR$(188)

END
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Dim 6 Nov 2011 - 4:18

Fine for me !

EDIT

NO ! The horizontal border is 3 pixels too short !
Code:

' TEXT_HEIGHT (A$ N): gibt die Höhe in Pixel
' TEXT_WIDTH  (A$,N), gigt die Breite in Pixel
'
Label SCHRIFTARTEN
'
alpha 001:hide 001
alpha 002:hide 002
alpha 003:hide 003
alpha 004:hide 004
alpha 005:hide 005
'
alpha 020:hide 020
alpha 021:hide 021
alpha 022:hide 022
alpha 023:hide 023
alpha 024:hide 024
'
alpha 030:hide 030
alpha 031:hide 031
alpha 032:hide 032
alpha 033:hide 033
alpha 034:hide 034
'
alpha 055:hide 055
'
DIM ZB2%
DIM ZZ2%
DIM ZZ3%
DIM RB2%
'
Dim Y2
Dim Y3
Dim Y4
'
DIM TEXT2$:TEXT2$="Höhe in Pixel"
DIM RAHMENAUFFORMOBEN$
DIM RAHMENAUFFORNUNTEN$
DIM RAHMENAUFFORMLINKS$
DIM RAHMENAUFFORMRECHTS$
'
Dim Schriftart
DIM Schriftgroesse%
Dim SCHRIFT_HOEHE%
Dim SCHRIFT_BREIT%
DIm A1$:A1$=CHR$(186)
DIm A2$
DIm A3$
'
' ******************************************************************************
Schriftgroesse% = 8  :' <====  Hier Schriftgröße einstellen
' ****************************************************************************'*
'
' FORM            000 DEFINIEREN
color              000,0,255,0
width              000,INT(SCREEN_X)
height            000,INT(SCREEN_Y)
'
Print_Locate 40,520:Print "Screen width Pixel:  ",Screen_X
' *** SCHRIFTZEICHEN ***********************************************************
show        001
top          001,001
left        001,001
SCHRIFTART = 001
Gosub Schriftarten
' caption      001,A1$
'
' *** SCHRIFTHÖHE IN PIXEL *****************************************************
show        002
top          002,580
left        002,040
SCHRIFTART = 002
Gosub Schriftarten
Print_Locate 40,560:Print "TEXT HEIGHT:  ",TEXT_HEIGHT (A1$,1)
'
' *** SCHRIFTBREITE IN PIXEL ***************************************************
show        003
top          003,620
left        003,040
SCHRIFTART = 003
Gosub Schriftarten
Print_Locate 40,600:Print "TEXT WIDTH:  ",TEXT_WIDTH (A1$,1)
'
ZB2% = TEXT_WIDTH (A1$,1)        :' Zeichenbreite ermitteln
'
ZZ2% = Screen_x/ZB2%            :' Anzahl Zeichen auf Bildschirmbreite
Print_Locate 40,640:Print "Anzahl Zeichen auf Screen width:  ",ZZ2%
'
' *** Berechnung Rahmenbreite **************************************************
'
ZZ2% = ZZ2% -2                  :' - 2 Zeichen für CHR$(201)-CHR$(187)
'
ZZ3% = ZZ2% -1                  :' - 1 Zeichen für Rahmen links und rechts
'
RAHMENAUFFORMOBEN$ = CHR$(201) + STRING$(ZZ3%,CHR$(205)) + CHR$(187)
RB2% = TEXT_WIDTH (RAHMENAUFFORMOBEN$,1)        :' Zeichenbreite ermitteln
Print_Locate 40,660:Print "Rahmenbreite in Pixel: ",RB2%
'
show        004
top          004,-1
left        004,-1
SCHRIFTART = 004
Gosub Schriftarten
caption      004,RAHMENAUFFORMOBEN$
'
' *** Rahmen links *************************************************************
'
RAHMENAUFFORMLINKS$  = CHR$(186)
'
show        020
top          020,7
left        020,-1
SCHRIFTART = 020
Gosub Schriftarten
caption      020,RAHMENAUFFORMLINKS$
'
show        0021
top          0021,15
left        0021,-1
SCHRIFTART = 0021
Gosub Schriftarten
caption      0021,RAHMENAUFFORMLINKS$
'
show        0022
top          0022,23
left        0022,-1
SCHRIFTART = 0022
Gosub Schriftarten
caption  0022,RAHMENAUFFORMLINKS$
'
show        0023
top          0023,31
left        0023,-1
SCHRIFTART = 0023
Gosub Schriftarten
caption  0023,RAHMENAUFFORMLINKS$
'
show        0024
top          0024,39
left        0024,-1
SCHRIFTART = 0024
Gosub Schriftarten
caption  0024,RAHMENAUFFORMLINKS$
'
'
RAHMENAUFFORMRECHTS$ = CHR$(186)
'
show        030
top          030,7
left        030,RB2%-7
SCHRIFTART = 030
Gosub Schriftarten
caption  030,RAHMENAUFFORMRECHTS$
'
show        031
top          031,15
left        031,RB2%-7
SCHRIFTART = 031
Gosub Schriftarten
caption  031,RAHMENAUFFORMRECHTS$
'
show        032
top          032,23
left        032,RB2%-7
SCHRIFTART = 032
Gosub Schriftarten
caption  032,RAHMENAUFFORMRECHTS$
'
show        033
top          033,31
left        033,RB2%-7
SCHRIFTART = 033
Gosub Schriftarten
caption  033,RAHMENAUFFORMRECHTS$
'
show        034
top          034,39
left        034,RB2%-7
SCHRIFTART = 034
Gosub Schriftarten
caption  034,RAHMENAUFFORMRECHTS$
'
' ** RAHMENAUFFORNUNTEN$  = CHR$(200)+STRING$(ZZ3%,CHR$(205))+CHR$(188) ********
'
RAHMENAUFFORNUNTEN$  = CHR$(200) + STRING$(ZZ3%,CHR$(205)) + CHR$(188)
'
show        055
top          055,47
left        055,-1
SCHRIFTART = 055
Gosub Schriftarten
caption      055,RAHMENAUFFORNUNTEN$

' adjust form width
width 0,1277
'
end
'
' ******************************************************************************
' *** Schriftart TERMINAL  *****************************************************
SCHRIFTARTEN:
'
font_name          SCHRIFTART,"Terminal"
font_size          SCHRIFTART,Schriftgroesse%
font_bold          SCHRIFTART
font_underline_off SCHRIFTART
' font_underline    SCHRIFTART
font_strike_off    SCHRIFTART
font_italic_off    SCHRIFTART
font_color        SCHRIFTART,0,0,0
'
RETURN
See line 195: with 1277 the border still fits, but gets truncated with 1276.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Severin



Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Mar 8 Nov 2011 - 19:15

hallo an alle Panoramic's,

ich habe immer noch das Problem mit den unterschiedlichen Rahmenbreiten.
Beim Test mit Vista habe ich eine Rahmenbreite von 10 Pixel.
Beim Test mit Win 7 habe ich eine Rahmenbreite von 3 Pixel.
Beim Test mit Win XP habe keinen Wert. Ich habe kein XP mehr.
Wer kann Daten ermitteln und hier einstellen ? Question

@ Nardo26

Hallo Nardo,
die Rahmenbox muss mit Alpha N gemacht werden.
Bei nur mit Print ist der Rahmen flüchtig. affraid

Severin

A tout le Panoramic's,

J'ai encore le problème avec les largeurs de cadre diverses.
Au test avec Vista, j'ai une largeur de cadre de 10 pixels.
Au test avec Win 7 j'ai une largeur de cadre de 3 pixels.
Au test avec WIN XP n'a aucune valeur. Je n'ai plus aucun XP.
Qui peut découvrir des données et régler(engager) ici ? Question

Nardo26

Nardo, la boîte de cadre doit être fait avec l'alpha N.
A seulement avec Print, le cadre est fugitivement. affraid

Severin


hello to all Panoramic's,

I still have the problem with the different frame-wide.
With the test with Vista I have a frame width of 10 pixels.
With the test with Win 7 I have a frame width of 3 pixels.
With the test with WIN XP has no value. I have no more XP.
Who can determine data and put here? Question

Nardo26

Hello Nardo, the frame box must be done with alpha N.
With only with Print the frame is quickly. affraid

Severin
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Mar 8 Nov 2011 - 19:52

XP Pro SP3: 3 pixels
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Mar 8 Nov 2011 - 20:05

@severin,
je comprend toujours pas pourquoi tu veux absolument passer par des caractères semi-graphiques pour dessiner un cadre dans le formulaire... scratch

Voir instruction : PICTURE, 2D_RECTANGLE
pour le redimensionement automatique j'ai fourni plein d'exemple sur le forum...

Vraiment je ne comprend pas : as-tu regardé les 2 exemples du
Vendredi 28 Oct 2011 - 10:11 ? -> voir ici

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Severin



Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Mar 8 Nov 2011 - 20:29

Hallo Nardo26,

siehe Startseite vom Forum.
Ich persönlich finde die Felder mit Doppellinie schön.
In meinem Programm sollen auch Felder den Benutzer führen.
Es ist sehr spezifisch und daher muß eine Reihenfolge eingehalten werden.
Deshalb auch meine Fragen nach den Unterschiedlichen Rahmen in Win.
Mein Kollege hat Vista. Daher die Möglichkeit es zu Prüfen.
Kann mir die unterschiedlichen Rahmenbreiten nicht erklären.
Dehalb auch meine Frage. Auch an Jack.
Ansonsten vielen Dank für die Hilfe.

Severin

Nardo26,

Cf. la page de départ du forum.
Je trouve bien personnellement les champs avec la ligne double.
Dans mon programme, des champs doivent aussi diriger l'utilisateur.
C'est très spécifique et, ainsi, un ordre(une suite) doit être respecté.
Ainsi aussi mes questions sur les cadres divers dans Win.
Mon collègue a Vista. Ainsi, examiner la possibilité.
Ne peut pas m'expliquer les largeurs de cadre diverses.
Dehalb aussi ma question. Aussi à Jack.
Sinon merci bien à l'aide.

Severin

Hello Nardo26,

see start side of the forum.
I find individually the fields with double line beautifully.
In my program fields should also lead the user.
It is very much specifically and, therefore, an order must be kept.
Therefore, also my questions after the different frames in Win.
My colleague has Vista. Therefore, to check the possibility.
If the different frame-wide cannot explain(express) to me.
Dehalb also my question. Also to Jack.
Apart from that many thanks for the help.

Severin
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   Mar 8 Nov 2011 - 22:58

Bon là je pense qu'il y en a pour tout les gouts... Wink

- C'est redimensionnable
- Plusieurs couleurs, styles
- Du texte par dessus...

Code:
DIM ID_TIMER : ID_TIMER = 20
DIM ID_PIC  : ID_PIC = 21
LABEL Redraw : GOSUB Redraw
ALPHA 100:CAPTION 100,"Test":LEFT 100,15:TOP 100,15
TIMER ID_TIMER: TIMER_INTERVAL ID_TIMER,100

DIM ID_TIMER1 : ID_TIMER1 = 22
DIM ID_PIC1  : ID_PIC1 = 23

FORM 1
LABEL Redraw1 : GOSUB Redraw1
ALPHA 200:PARENT 200,1:CAPTION 200,"Test":LEFT 200,15:TOP 200,15
TIMER ID_TIMER1: TIMER_INTERVAL ID_TIMER1,100

ON_TIMER ID_TIMER,Redraw: TIMER_ON ID_TIMER
ON_TIMER ID_TIMER1,Redraw1: TIMER_ON ID_TIMER1

END


' ------------------------------------------------------------------------------
Redraw:
  if OBJECT_EXISTS(ID_TIMER)=1 THEN TIMER_OFF ID_TIMER
  if OBJECT_EXISTS(ID_PIC)=0
    PICTURE ID_PIC
    DIM Form0_H,Form0_W
  end_if
  if Form0_H<>HEIGHT(0) OR Form0_W<>WIDTH(0)
      2D_TARGET_IS ID_PIC: FULL_SPACE ID_PIC : 2D_CLEAR
      Form0_H=HEIGHT(0):Form0_W=WIDTH(0)
      2D_FILL_COLOR 240,240,240
      2D_PEN_WIDTH 3 : 2D_PEN_SOLID
      2D_RECTANGLE 3,3,WIDTH(ID_PIC)-3,HEIGHT(ID_PIC)-3
      2D_RECTANGLE 8,8,WIDTH(ID_PIC)-8,HEIGHT(ID_PIC)-8
  end_if
  if OBJECT_EXISTS(ID_TIMER)=1 THEN TIMER_ON ID_TIMER
return

Redraw1:
  if OBJECT_EXISTS(ID_TIMER1)=1 THEN TIMER_OFF ID_TIMER1
  if OBJECT_EXISTS(ID_PIC1)=0
    PICTURE ID_PIC1 : PARENT ID_PIC1,1
    DIM Form1_H,Form1_W
  end_if
  if Form1_H<>HEIGHT(1) OR Form1_W<>WIDTH(1)
      2D_TARGET_IS ID_PIC1: FULL_SPACE ID_PIC1 : 2D_CLEAR
      Form1_H=HEIGHT(1):Form1_W=WIDTH(1)
      2D_FILL_COLOR 240,240,240
      2D_PEN_SOLID : 2D_PEN_WIDTH 3
      ' small box
      2D_PEN_COLOR 0,0,255 : 2D_RECTANGLE 3,3,WIDTH(ID_PIC1)-3,40
      2D_PEN_COLOR 255,0,0 : 2D_RECTANGLE 8,8,WIDTH(ID_PIC1)-8,35
      ' 2nd box
      2D_PEN_COLOR 0,0,0 : 2D_RECTANGLE 3,45,WIDTH(ID_PIC1)-3,HEIGHT(ID_PIC1)/2-3
      2D_PEN_WIDTH 1 : 2D_PEN_DASH
      2D_RECTANGLE 8,50,WIDTH(ID_PIC1)-8,HEIGHT(ID_PIC1)/2-8
  end_if
  if OBJECT_EXISTS(ID_TIMER1)=1 THEN TIMER_ON ID_TIMER1
return

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Contenu sponsorisé




MessageSujet: Re: Z=TEXT_WIDTH (A1$,1)   

Revenir en haut Aller en bas
 
Z=TEXT_WIDTH (A1$,1)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» TEXT_WIDTH dans un LIST
» Z=TEXT_WIDTH (A1$,1)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: