Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
WinDev Forum
Beiträge im Thema:
6
Erster Beitrag:
vor 3 Jahren, 5 Monaten
Letzter Beitrag:
vor 3 Jahren, 5 Monaten
Beteiligte Autoren:
GuenterP, Gabriel Marten

Groupware analysis

Startbeitrag von Gabriel Marten am 16.01.2015 16:21

Hi All

Is it possible to modify the groupware files in order to add new fields such as company, computer etc.?
I included the analisys in the project as custom manual start, the internal component was automatically included in the project, I can see the WDGPU analysis in the project but I can't open the corresponding files in order to modify them.


Thanks for your help!

Antworten:

Hi Gabriel,

yes, this is possible! The Groupware is an Internal Component with its own analysis, access to the Groupware files while your project's other files are open can be done via

// Declare the file
File_GPU_User..Name = "GPU_User"
File_GPU_User..Type = hFileNormal

// Declare the item UserID
MyItem_UserID..Name = "UserID"
MyItem_UserID..Type = hItemIdAuto4
MyItem_UserID..Size = 4
MyItem_UserID..KeyType = hUniqueKey
HDescribeItem(File_GPU_User, MyItem_UserID)

// Declare the item Login
MyItem_Login..Name="Login"
MyItem_Login..Type = hItemUnicodeText
MyItem_Login..Size = 255
MyItem_Login..KeyType = hUniqueKey
HDescribeItem(File_GPU_User, MyItem_Login)

I added a few features to the groupware in different projects. E.g.

- array of favourite windows and associated icons for each user
- names of computers to allow access for a certain user
- days of week and times for allowed access
- switching on/off of groupware
- recording not only of log-in date/times but of log-off date/times too

von GuenterP - am 16.01.2015 17:46
Hi Guenter

Thank you for your help.

Are you linking the groupware GPU_USER file info to your project files via GPU_USER.UserId so you can add new fields in related tables ? or are you modifying the GPU_USER file and adding to it the fields for the new options ?
I tried to do the second option but I am getting an open error when I try to open the WDGPU analysis.

Thank's again

Gabriel Marten

von Gabriel Marten - am 16.01.2015 21:39
Hi Gabriel,

in order to keep programming efforts as small as possible, I just modifiede GPU_USER file and others within the internal component. From the project, you can access the gpu-files only by describing them, then opening each and access them in read/write mode. The opening error may come up because the files are not in the directory where you're expecting them to be?

von GuenterP - am 17.01.2015 07:31
Hi, the full declaration and opening of GPU_User from the inside of the project (the last three items are for storing 25 favourite windows for each user, to be maintained by the supervisor)

// Declare the file
File_GPU_User..Name = "GPU_User"
File_GPU_User..Type = hFileNormal

// Declare the item UserID
MyItem_UserID..Name = "UserID"
MyItem_UserID..Type = hItemIdAuto4
MyItem_UserID..Size = 4
MyItem_UserID..KeyType = hUniqueKey
HDescribeItem(File_GPU_User, MyItem_UserID)

// Declare the item Login
MyItem_Login..Name="Login"
MyItem_Login..Type = hItemUnicodeText
MyItem_Login..Size = 255
MyItem_Login..KeyType = hUniqueKey
HDescribeItem(File_GPU_User, MyItem_Login)

// Declare the item Name
MyItem_Name..Name="Name"
MyItem_Name..Type = hItemUnicodeText
MyItem_Name..Size = 255
HDescribeItem(File_GPU_User, MyItem_Name)

// Declare the item FirstName
MyItem_FirstName..Name="FirstName"
MyItem_FirstName..Type = hItemUnicodeText
MyItem_FirstName..Size = 255
HDescribeItem(File_GPU_User, MyItem_FirstName)

// Declare the item Password
MyItem_Password..Name="Password"
MyItem_Password..Type = hItemUnicodeText
MyItem_Password..Size = 50
HDescribeItem(File_GPU_User, MyItem_Password)

// Declare the item Supervisor
MyItem_Supervisor..Name="Supervisor"
MyItem_Supervisor..Type = hItemBoolean
MyItem_Supervisor..Size = 1
HDescribeItem(File_GPU_User, MyItem_Supervisor)

// Declare the item PasswordToEnter
MyItem_PasswordToEnter..Name="PasswordToEnter"
MyItem_PasswordToEnter..Type = hItemBoolean
MyItem_PasswordToEnter..Size = 1
HDescribeItem(File_GPU_User, MyItem_PasswordToEnter)

// Declare the item Photo
MyItem_Photo..Name="Photo"
MyItem_Photo..Type = hItemBinaryMemo
MyItem_Photo..AccentuationSensitive = True
MyItem_Photo..CaseSensitive = True
MyItem_Photo..PunctuationSensitive = True
MyItem_Photo..Size = 8
HDescribeItem(File_GPU_User, MyItem_Photo)

// Declare the item Phone
MyItem_Phone..Name="Phone"
MyItem_Phone..Type = hItemText
MyItem_Phone..Size = 50
HDescribeItem(File_GPU_User, MyItem_Phone)

// Declare the item IconName
MyItem_IconName..Name="IconName"
MyItem_IconName..Type = hItemText
MyItem_IconName..Size = 50
MyItem_IconName..NbArrayElement = 25
HDescribeItem(File_GPU_User, MyItem_IconName)

// Declare the item Description
MyItem_ButtonCaption..Name="ButtonCaption"
MyItem_ButtonCaption..Type = hItemText
MyItem_ButtonCaption..Size = 60
MyItem_ButtonCaption..NbArrayElement = 25
HDescribeItem(File_GPU_User, MyItem_ButtonCaption)

// Declare the item WindowName
MyItem_WindowName..Name="WindowName"
MyItem_WindowName..Type = hItemText
MyItem_WindowName..Size = 50
MyItem_WindowName..NbArrayElement = 25
HDescribeItem(File_GPU_User, MyItem_WindowName)

HDescribeFile(File_GPU_User)

IF MyHFCSorHFClassic = "HFCS" THEN
HChangeConnection(GPU_User,MyConnection)
HChangeDir(GPU_User,".\Gpw_BackPRIMA_2014")
ELSE
HChangeConnection(GPU_User,MyConnection)
HChangeDir(GPU_User,MyPathToHFClassic)
END

IF NOT HOpen(GPU_User,MyCompanyName,hOReadWrite) THEN
Error(HError(hErrCurrent))
END

IF HReadSeek(GPU_User, "Login",Upper(MyUSERis_LOGINNAME),hIdentical)=True THEN
MyUSERis_Password = GPU_User.Password

von GuenterP - am 17.01.2015 10:15
Hi Guenter

Thanks for your reply!

Best regards

Gabriel Marten

von Gabriel Marten - am 17.01.2015 16:44
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.