Mac nightmare form designer

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
aucrobert
Messages : 4
Inscription : mar. 25/nov./2014 3:12

Mac nightmare form designer

Message par aucrobert »

Besoin d'aide. [ Version MAC 5.31 x64 sur macbook ]

Je doit essayer de transférer des programmes ecrit par PowerBasic en mode
Mac Pure Basic. (PS after install PowerBasic, 3 hour after little programme test fonctionne)
PureBasic ( After 3 jours toujours rien mais RIEN fonctionne voir la fin du message)
Ok voila le problem

start with form design. File ( try.bpf )
-----------------------------------------------
;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;

Global Window_0

Global Button_0

11- Declare TestEvent(EventType)
12- Declare main.pb(Event, Window)

Procedure OpenWindow_0(x = 0, y = 0, width = 390, height = 170)
Window_0 = OpenWindow(#PB_Any, x, y, width, height, "Try", #PB_Window_SystemMenu)
Button_0 = ButtonGadget(#PB_Any, 130, 130, 110, 30, "Test")
EndProcedure

Procedure Window_0_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False

Case #PB_Event_Menu
Select EventMenu()
EndSelect

Case #PB_Event_Gadget
Select EventGadget()
Case Button_0
TestEvent(EventType())
EndSelect
Default
main.pb(event,Window_0)
EndSelect
ProcedureReturn #True
EndProcedure

OpenWindow_0()

Repeat
event = WaitWindowEvent()
Until Window_0_Events(event) = #False

End
---------------------------------------
En réalité un windows et un button name (test avec procedure événement TestEvent)
et le Windows name ( try avec procedure événement main.pb


voici la file main.pb
---------------------------------------
Procedure TestEvent(evType.i)
;
EndProcedure
---------------------------------------



Compilation result:
[COMPILER] Ligne 12: A procedure must begin with a ‘('

la filiere cree *.pbf est cree automatique
la ligne 12 = Declare main.pb(Event, Window)


ce qui est intéressant je delete la file main.pb meme problem err. ligne 12.

Merci de votre aide.
Dernière modification par aucrobert le dim. 30/nov./2014 3:39, modifié 1 fois.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Mac nightmare form designer

Message par Ollivier »

Benton? On peut le sauver?
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Mac nightmare form designer

Message par TazNormand »

Alors là je n'ai rien compris !!!

Je n'arrive même pas à voir si tu es un bot, tellement ta demande est "floue". Et c'est quoi cette référence à PureBasic ?

Au cas où tu serais anglais :

---------------------------------------------

In case you speak english, and you used google translate :

I don't understand what is your problem, why are you speaking about PowerBasic !

Your help request is same clear as an black ink bottle
Image
Image
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Mac nightmare form designer

Message par Ollivier »

Faut arrêter de voir des robots partout. Je vais finir par vous en coller un qui vous causera pendant mes heures de beuveries.

C'est pas un robot, c'est juste quelqu'un qui est hyperventilé.
Lord Nelson
Messages : 355
Inscription : dim. 01/déc./2013 15:29

Re: Mac nightmare form designer

Message par Lord Nelson »

Bha faut dire que là, ont reste sceptique quand même !
Moi, j'ai rien compris personnellement :|

Quoi qu'il en soit, bot ou pas, il va falloir qu'il nous en dise un peut plus !
aucrobert
Messages : 4
Inscription : mar. 25/nov./2014 3:12

Re: Mac nightmare form designer

Message par aucrobert »

Merci jusqu'ici.

Le problem ( Je pas pas compris comment utiliser FORM DESIGNER) mac 5.31

apres plus de 50 test divers J'ai toujour le meme problem

COMPILER] Ligne 12: A procedure must begin with a ‘('

Je ne comprend pas un Window un bouton une file *.pbf
et une file *.pb voila.

mais il semble qu'il ny a pas de lien entre les deux.

Le form produit la file *.pbf que l'on ne peut modifier.
ou est l'erreur...

desoler si ce n'etait pas clair.\
Merci
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Mac nightmare form designer

Message par falsam »

Hello aucrobert and welcome :)

Try this code and don't use Form Designer (Tip: Forget Form Designer)

Code : Tout sélectionner

Enumeration Windows
  #Mainform
EndEnumeration

Enumeration Gadgets
  #Button
  #Name
EndEnumeration

Declare ClickMe()

Procedure Open_MainForm()
  OpenWindow(#Mainform, 0, 0, 500, 400, "Hello", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  
  TextGadget(#PB_Any, 10, 20, 120, 22, "Enter your name")
  StringGadget(#Name, 150, 20, 80, 22, "")
  ButtonGadget(#Button, 400, 20, 80, 22, "Click Me")
  
  BindGadgetEvent(#Button, @ClickMe())
EndProcedure

Procedure ClickMe()
  Protected Name.s = GetGadgetText(#Name)
  
  If Len(Trim(Name)) <> 0
    MessageRequester("Information", "Hello " + Name)
  Else
    MessageRequester("Information", "Enter your name")
  EndIf
  
EndProcedure

Open_MainForm()

Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Mac nightmare form designer

Message par Ollivier »

Déjà bienvenu ici-bas aucrobert.

On comprend pas pourquoi t'as mis un nom de fichier à la place d'un nom de procédure. (juste "main" c'est bien, pas "main.pb")
Et puis, quand tu écris un message, encapsule ton code dans les balises adéquates. Comme ça:

Code : Tout sélectionner

debug "bonjour, je suis un code purebasic."
Connecte-toi (si tu ne l'es plus) et clique sur "citer" en bas de mon message pour voir techniquement comment on fourre le code dans des balises, c'est assez simple une fois qu'on a vu l'astuce.

Enfin, je pense que tu prends ton problème par le mauvais côté. Ça te complique, et donc ça t'énerve, donc tu hyperventiles, etc...

Let's go form designer machin, j'ai jamais utilisé ce truc. Tu iras plus vite en tapant ton code source.

T'as qu'à faire le test: prends un petit code sans importance en powermachin, et poste-le ici. Ça doit pas être très compliqué ton langage. M'est d'avis de te dire qu'on va te le convertir vite fait.
aucrobert
Messages : 4
Inscription : mar. 25/nov./2014 3:12

Re: Mac nightmare form designer

Message par aucrobert »

Merci Ollivier
Esque je me trompe ou il n'a pas de possiblite d'attacher une filière.
exp *.bas ou le résultat *.exe c'est programme sont fait pour windows(toute version 95 a win 8.1).

Comme tu vois.
Pour le moment je cherche a comprendre comment
sa marche un vendeur qui ne peut pas expliquer comment son produit
fonctionne aucune explication pour mac form. (pas evident de se debatte tout seul)

pour le transfert.
crois moi il y a des programmes qui sont plutôt assez imposant.
Mais tu as raison un peut de calm de ma part puis de nouveau test
mon problem est que je ne peut pas avance, il y a encore les treads
que j'ai besoins la manipulation des string et array sans parler des impressions
en ( preview print ). J'ai besoins du form il y a des programme qui on des 50
a 60 gadget sur 6 a 8 windows exp( un windows qui rentre information des client
avec plusieure donne sur un database. avec un autre windows(avec password)
pour modifier les donne du client ces windows comprenne des espace d'input
des case crochet des dizaine d'info... tu voit le genre.)

Donc je vais m'y remettre et essayer encore pour comprendre le lien entre
form designer et les files. *.pbF et *.bp

Merci encore
Lord Nelson
Messages : 355
Inscription : dim. 01/déc./2013 15:29

Re: Mac nightmare form designer

Message par Lord Nelson »

Bonjour et bienvenue.
Est tu français ?

Sinon si t'es plus doué dans ta langue, bien parle la sauf si c'est du chinois lol
Car la en français, ont peine à te comprendre mon cher !
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Mac nightmare form designer

Message par Ollivier »

PureBasic est un compilateur. Dans ton espace personnel en ligne, tu as différentes versions disponibles:

pour Windows
pour Linux
pour Mac
pour Amiga

Tu peux donc créer des fichiers exécutables et pleinement autonomes pour chacun de ces OS.

Est-ce que tu as aussi une machine avec Windows?
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Mac nightmare form designer

Message par Ollivier »

je t'ai mis mon adresse mail en messagerie privée si tu veux de l'aide pour la conversion de code.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Mac nightmare form designer

Message par Ollivier »

Je t'ai fait un premier retour de code. Je fais me reposer. Je penserai à me renseigner de mon côté pour les impressions sur Mac. On ne sait jamais...
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: Mac nightmare form designer

Message par Marc56 »

(english version at bottom)

Pour les petits projets, on n'utilise pas le form designer, mais quand il y a beaucoup de gadgets, il est très utile.
Cependant, il faut être rigoureux est surtout ne pas modifier le code source qu'il génère!

Voila un exemple minimum (juste une fenêtre avec un bouton quitter)

D'abord, indiquer à PBForm de générer lui-même les codes de procédure et la boucle principale

Menu Fichier
Préférence
Form
[X] Générer procédure d'évènements
[X] Générer boucle d'évènements

Menu Form
Nouveau Form
Tracer un bouton
Sélectionner ce bouton
Dans les propriétés
Définir le Titre et donner un nom (ex: Quitter)
Définir la Procédure d'évènement (ex: Prc_Quitter)
Sauvegarder (ex: MyForm.pbf)
Basculer en mode code (Form Changer vue form/design)
Copier la ligne Declare Prc_Quitter(EventType) sans le mot clé déclare

Maintenant, on créé le fichier de code général
Fichier
Nouveau
Indiquer au programme qu'il doit intégrer le code du form

Code : Tout sélectionner

IncludeFile "MyForm.pbf"
maintenant, mettre le code des procédures
coller la ligne de déclaration en remplaçant Declare par Procedure
Procedure Prc_Quitter(EventType)
entrer le code de la procédure
fermer la procédure

Ce qui donne

Code : Tout sélectionner

IncludeFile "MyForm.pbf"

Procedure Prc_Quitter(EventType)
  MessageRequester ("OK", "My First Code with FormDesigner ;-)", 64)
  End
EndProcedure
Sauvegarder (ex: MyCode.pb)
Taper F5

Et voilà

--- in english
Tell PBform to genrate procedure and loop (more easy)
File
Preferences
Form
[X] Generate event procedure
[X] Generate event loop

Make the form
Form
New Form (trace the windows)
Button (trace a button)
Left clic on button
in Properties
Set Caption (text of the button, ie: Quit)
in Layout
Set Event procedure (the name of the procedure you want to associate with it, ie: Prc_Quit)
Save this file (ie: MyForm.pbf)

Swith form design to Form code (Form / Switch)
Do not change anything here, do not write anything. Never, never, never!

You can see a line 'Declare Prc_Quit(Event, Window)'
Copy it (without 'Declare')

Now make the main code
File
New
Save it (ie: MyCode.pb)
Tell pb to include the code of the form

Code : Tout sélectionner

IncludeFile "MyForm.pbf"
now, write the procedure
paste your line (change Declare by Procedure)
write code (ie: End)
close procedure with EndProcedure

Code : Tout sélectionner

Procedure Prc_Quit(Event, Window)
        MessageRequester ("OK", "My First Code with FormDesigner ;-)", 64)
	End
EndProcedure
That's all ;-)



Sample Full

The form code "Mini_Form.pbf"
(all this code was generate by pbform, I do not write/del anything)

Code : Tout sélectionner

;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;

Enumeration FormWindow
  #Window_0
EndEnumeration

Enumeration FormGadget
  #Button_0
EndEnumeration

Declare Prc_Quitter(EventType)

Procedure OpenWindow_0(x = 0, y = 0, width = 315, height = 225)
  OpenWindow(#Window_0, x, y, width, height, "", #PB_Window_SystemMenu)
  ButtonGadget(#Button_0, 90, 175, 130, 40, "Quitter")
EndProcedure

Procedure Window_0_Events(event)
  Select event
    Case #PB_Event_CloseWindow
      ProcedureReturn #False

    Case #PB_Event_Menu
      Select EventMenu()
      EndSelect

    Case #PB_Event_Gadget
      Select EventGadget()
        Case #Button_0
          Prc_Quitter(EventType())          
      EndSelect
  EndSelect
  ProcedureReturn #True
EndProcedure

OpenWindow_0()

Repeat
  event = WaitWindowEvent()
Until Window_0_Events(event) = #False

End
The main code (Mini_Code.pb)
The only piece of code that I wrote. The form meanwhile was automatically generated

Code : Tout sélectionner

IncludeFile "Mini_Form.pbf"  ;	Name of the form file (*.pbf)


Procedure Prc_Quitter(EventType)
	MessageRequester("Yes!", "I made my first PureBasic Software with FormDesigner", 64)
	End
EndProcedure
That's all
:D
aucrobert
Messages : 4
Inscription : mar. 25/nov./2014 3:12

Re: Mac nightmare form designer

Message par aucrobert »

Hi, Marc56
Voila la "l u m i e r e"

une simple ligne de code:

start *.pb par
IncludeFile "MyForm.pbf"

toute la literature et les programmes que j'ai essayer
disent START *.pb by procedure....

et jamais que sa fonctionne

SIMPLE SOLUTION mais "S U P E R B E "

Fonctionne parfaitement.....THANKs again and again..

4 jour de travail pour trouvez cela... (might be a "HIT" to inclure in futur tutorial HOW to use FORM DESIGNER )
Répondre