PureBasic

Forums PureBasic
Nous sommes le Mar 18/Juin/2019 3:53

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 7 messages ] 
Auteur Message
 Sujet du message: Table mémoire éditable
MessagePosté: Sam 29/Juil/2017 9:55 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1590
Localisation: Belgique
Image

:arrow: Lien Github
:arrow: Help for use

Remarque: Il y à un décalage sur l'image entre le curseur souris et sa position réel.

Développé en POO et avec un usage est asse simple. On utilise deux type d'objet un pour la table et un autre par colonne.
La version actuel 1.1 est une preview et loin d'être achevée.

Voici le code de l'exemple:

Code:
XIncludeFile "MEM_TABLE.pbi"
Global myTable.MEM_TABLE::_MEM_TABLE
Global.COLUMN_TABLE::_COLUMNS name,adress,ZipCod,Town,Country
Global Dim teste.s(300)
; Create memory table and column
myTable=MEM_TABLE::New(10,10,780,580,"Teste")
name=myTable\AddColumn("Name",140,COLUMN_TABLE::#EditableColumn|COLUMN_TABLE::#ResizableColumn)
name\SetHelpMessage("push SHIFT and left click for edit")
Country=myTable\AddColumn("Country",200,COLUMN_TABLE::#EditableColumn|COLUMN_TABLE::#UseCombobox)
adress=myTable\AddColumn("Adress",180,COLUMN_TABLE::#ResizableColumn)
ZipCod=myTable\AddColumn("Zip code",200)
Town=myTable\AddColumn("Town",200)

For i=1 To 300
  name\SetValue("Name "+Str(i))
  teste(i-1)="Name "+Str(i)
Next
adress\SetValue("Rue Sainry 140")
adress\SetValue("Rue du park 210")
Country\AddToComboList("France")
Country\AddToComboList("Belgique")
Country\SetValue("0")
Country\SetValue("1")

Procedure LineIsSelected(line,*data.COLUMN_TABLE::_COLUMNS)
  Debug "La ligne "+Str(line)+" à été sélectionnée"
EndProcedure
Procedure ColumnIsModif(line,*data.COLUMN_TABLE::_COLUMNS)
  If *data
    teste(line)= *Data\GetValue(line)
  EndIf
  Debug teste(line)
EndProcedure
myTable\AddCallback(@LineIsSelected(),MEM_TABLE::#EventSelectedLine)
myTable\AddCallback(@ColumnIsModif(),MEM_TABLE::#EventEditColumn)
Procedure Open()
  OpenWindow(0,0,0,800,600,"Teste",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
  myTable\Show(0)
EndProcedure

; starting program
Open()

; main loop
Repeat:WaitWindowEvent():Until Event()=#PB_Event_CloseWindow
 
End

_________________
Linux Mint / Windows 10 64 bits PB: 5.61 ; 5.62 beta


Dernière édition par microdevweb le Dim 30/Juil/2017 11:25, édité 4 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Table mémoire éditable
MessagePosté: Sam 29/Juil/2017 12:59 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 23/Sep/2006 18:32
Messages: 6626
Localisation: Isere
Merci du partage 8)

J'ai une erreur ligne au fichier Main.pb à la ligne 24 "EndProcedure" des que je clique sur une ligne
W10 X64 / v5.60 x86

Citation:
Attente du démarrage du programme...
Type d'exécutable: Windows - x86 (32bit, Unicode)
Exécutable démarré.
[ERREUR] main.pb (Ligne: 24)
[ERREUR] Accès mémoire invalide. (erreur de lecture à l'adresse 0)
Le programme a été arrêté.

_________________
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Table mémoire éditable
MessagePosté: Sam 29/Juil/2017 13:26 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1590
Localisation: Belgique
Merci Kwai chang caine,

Je n'ai pas d'erreur (je suis en x64 Pb 5.60)

Pourrait tu essayé en remplaçant la ligne 22
Code:
Procedure LineIsSelected(line)


par

Code:
Procedure LineIsSelected(line,*data.COLUMN_TABLE::_COLUMNS)


Un grand merci d'avance

_________________
Linux Mint / Windows 10 64 bits PB: 5.61 ; 5.62 beta


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Table mémoire éditable
MessagePosté: Sam 29/Juil/2017 14:38 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1590
Localisation: Belgique
Nouvelle preview 1.1

_________________
Linux Mint / Windows 10 64 bits PB: 5.61 ; 5.62 beta


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Table mémoire éditable
MessagePosté: Dim 30/Juil/2017 17:49 
Hors ligne

Inscription: Ven 07/Avr/2017 14:49
Messages: 95
Localisation: Sud Est
Un grand Merci pour ce partage


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Table mémoire éditable
MessagePosté: Lun 31/Juil/2017 19:20 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 23/Sep/2006 18:32
Messages: 6626
Localisation: Isere
MicroDevWeb a écrit:
Pourrait tu essayé en remplaçant la ligne 22
Je ne suis plus sur la même machine, et n'y serait pas pendant un bon bout de temps, donc je ne peux retester ce que tu m'as demandé :|
La nouvelle version fonctionne sur W7 X86 v5.60
Parfois des lenteurs lorsque l'on clique un peu partout, le scroll se bloque, on dirait qu'il fait une tonne de calculs derrière, mais si on attends ça remarche
Encore merci pour tout ce travail partagé 8)

_________________
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Table mémoire éditable
MessagePosté: Mar 01/Aoû/2017 11:15 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1590
Localisation: Belgique
@Kwai chang caine merci pour ses infos, je pense savoir d'ou ça vient.

Correction: Heu non je pensais ne pas libère une image, mais ce n'est pas le cas.

_________________
Linux Mint / Windows 10 64 bits PB: 5.61 ; 5.62 beta


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 7 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye