PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » помощь


помощь

Сообщений 1 страница 18 из 18

1

ребята поскажите пожалуйста,может кто знает.
Можно ли использовать Microsoft Office Access в PureBasic?

0

2

Примеров работы с Access я не видел (невеное есть, но мне не попадались), есть примеры взаимодействия с Word и Excel.
Копать нужно в эту сторону http://purebasic.info/phpBB2/viewtopic.php?t=669

0

3

Спасибо Пётр.
Врядли это поможет,просто пытаюсь создать программу(это первая моя программа))
создал окно,вкладки,разметку,но никак не могу сделать так,чтобы в строки можно было добавлять текст,редактировать и удалять.
Для вас наверно это пустяк) А вот я парюсь)

0

4

михаил написал(а):

чтобы в строки можно было добавлять текст,редактировать и удалять.

Думаю что если выложить соданный код и обяснить что делали и что не получается, помочь будет намного легче.

0

5

Код:
If OpenWindow(0, 100, 100, 350, 400, "Пробная", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
    

 
 ScrollAreaGadget(0, 10, 10, 1220, 700, 1200, 970, 30)
 PanelGadget(1, 10, 10, 1260, 1000)
 
AddGadgetItem(1, -1, "Первая вкладка")
ListIconGadget(10, 0,  0, 1190, 1200, "", 100, #PB_ListIcon_GridLines)
EditorGadget(9, 1200, 1200, 1240, 930)


AddGadgetItem(1, -1, "")
EditorGadget(5, 10, 0, 1240, 930)
AddGadgetItem(1, -1, "")
EditorGadget(4, 10, 0, 1240, 930)
AddGadgetItem(1, -1, "")
EditorGadget(6, 10, 0, 1240, 930)
AddGadgetItem(1, -1, "")
EditorGadget(7, 10, 0, 1240, 930)
AddGadgetItem(1, -1, "")
EditorGadget(8, 10, 0, 1240, 930)
AddGadgetItem(1, -1, "")
EditorGadget(2, 10, 0, 1240, 930)
AddGadgetItem(1, -1, "")
EditorGadget(3, 10, 0, 1240, 930)


  Repeat
  A= WaitWindowEvent()
  If A=#PB_Event_CloseWindow
  Q=1
  EndIf
  Until Q=1 
EndIf
End

я уже говорил,что это первая программа моя. В первой вкладке мне хотелось бы сделать 2 колонки(одна под другой) слева   и справа одну большую колонку со строками,чтобы можно было добавлять текст,изменять и удалять. Вообще мне много чего хотелось бы поместить в эту программу.Вообще Пётр,хотелось бы узнать ваше мнение,я собираюсь написать программу склаского учета,т.е. сам склад,продажи,приход,расход,товарный чек,печать,и т.д. Правильно ли я выбрал программу для этого? или конкретно для этой цели удобнее будет использовать,какую-либо другую программу?

0

6

михаил написал(а):

и справа одну большую колонку со строками,чтобы можно было добавлять текст,изменять и удалять.

Нужна таблица, которую можно редактирвать?

михаил написал(а):

я собираюсь написать программу склаского учета,т.е. сам склад,продажи,приход,расход

Для этого понадобится работа с базой данных. Пример работы с базой данных есть здесь База данных

0

7

Пётр написал(а):

Нужна таблица, которую можно редактирвать?

да,ну знаете,правой кнопкой мыши-изменить,удалить,добавить.

Пётр написал(а):

Для этого понадобится работа с базой данных. Пример работы с базой данных есть здесь База данных

Спасибо.Попытаюсь оттуда что-то полезное для себя вытащить.

0

8

михаил написал(а):

да,ну знаете,правой кнопкой мыши-изменить,удалить,добавить.

То есть при клике правой кнопкой мышки, появляется всплывающее меню в выбором возможных действий?

Код:
f OpenWindow(0, 100, 100, 350, 400, "Пробная", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
  
  
  
  ScrollAreaGadget(0, 10, 10, 1220, 700, 1200, 970, 30)
  PanelGadget(1, 10, 10, 1260, 1000)
  
  AddGadgetItem(1, -1, "Первая вкладка")
  ListIconGadget(10, 0,  0, 1190, 1200, "", 100, #PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
    AddGadgetColumn(10,1,"Колонка",100)
    AddGadgetItem(10, -1, "1"+Chr(10)+"2")
    AddGadgetItem(10, -1, "3"+Chr(10)+"4")
  EditorGadget(9, 1200, 1200, 1240, 930)
  
  
  AddGadgetItem(1, -1, "")
  EditorGadget(5, 10, 0, 1240, 930)
  AddGadgetItem(1, -1, "")
  EditorGadget(4, 10, 0, 1240, 930)
  AddGadgetItem(1, -1, "")
  EditorGadget(6, 10, 0, 1240, 930)
  AddGadgetItem(1, -1, "")
  EditorGadget(7, 10, 0, 1240, 930)
  AddGadgetItem(1, -1, "")
  EditorGadget(8, 10, 0, 1240, 930)
  AddGadgetItem(1, -1, "")
  EditorGadget(2, 10, 0, 1240, 930)
  AddGadgetItem(1, -1, "")
  EditorGadget(3, 10, 0, 1240, 930)
  
  If CreatePopupMenu(0)
    MenuItem(0,"Изменить")
    MenuItem(1,"Добавить")
    MenuItem(2,"Удалить")
  EndIf
  
  Repeat
    Event= WaitWindowEvent()
    If Event = #PB_Event_Gadget
      If EventGadget()=10 ; Идентификатор таблицы
        If EventType() = #PB_EventType_RightClick ; Клик правой кнопкой мышки по теблице
          Click_TableNumber=GetGadgetState(10)
          If Click_TableNumber>=0
            DisplayPopupMenu(0, WindowID(0))
          EndIf
        EndIf
      EndIf
      
      
    ElseIf Event = #PB_Event_Menu
      Select EventMenu()
        Case 0
          Debug "пункт Изменить;    строка № "+Str(Click_TableNumber)
        Case 1
          Debug "пункт Добавить;    строка № "+Str(Click_TableNumber)
        Case 2
          Debug "пункт Удалить;     строка № "+Str(Click_TableNumber)
      EndSelect
    EndIf
  Until Event = #PB_Event_CloseWindow
EndIf
End

0

9

Пётр написал(а):

То есть при клике правой кнопкой мышки, появляется всплывающее меню в выбором возможных действий?

Да спасибо,только они почему то не изменяются,ладно не тратьте своё время,всё равно это только наверно 1/100 того,чего ещё надо сделать.Боюсь что не осилю.Всё таки склоняюсь к тому,что надо будет просто заплатить програмисту и пусть это делает знающий человек.
Ещё раз спасибо.

0

10

михаил написал(а):

они почему то не изменяются

Это был только пример.
Чтобы изменялись, нужно дописать тредуемый для этого код.

0

11

Пётр написал(а):

Это был только пример.Чтобы изменялись, нужно дописать тредуемый для этого код.

Да я уже догнал)

0

12

Пётр,вы так и не ответили.Возможно ли такую программу написать на этом языке,или для этого лучше выбрать другой язык?

0

13

михаил
Возможно. Немного терпения, немного почитать и немного постучать по клаве  :writing:

0

14

Я не знаю какие именно возможности должны быть у программы, но если это просто работа с базой данных, и отображение различной информации в таблице, то для этого вполне подойдет PureBasic.

Кстати, вот простой пример редактирования данных прямо в таблице.
Для редактирования - двойной клик по строке.
Для сохранения результата нужно нажать на кнопку Enter.

Код:
Global editcontrol, edititem

colinfo.LV_COLUMN 
colinfo\mask = #LVCF_TEXT|#LVCF_WIDTH|#LVCF_FMT 
colinfo\fmt = #LVCFMT_LEFT 
colinfo\cx = 195 
colinfo\pszText = @"Column Header" 

hwnd = OpenWindow(0,0,0,320,300, "Listview API Demo",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) 

Global lv=CreateWindowEx_(#WS_EX_CLIENTEDGE, "SysListView32", "MyListView",  #LVS_EDITLABELS | #LVS_REPORT | #WS_CHILD | #WS_VISIBLE | #WS_HSCROLL | #WS_VSCROLL , 60,50,200,200,hwnd,0,GetModuleHandle_(0),0) 
SendMessage_(lv, #LVM_INSERTCOLUMN, 0, @colinfo) 

line.LV_ITEM 
line\Mask     = #LVIF_TEXT 
For i=1 To 10
  linetxt.s = "Line "+Str(i)
  line\iitem = i
  line\pszText  = @linetxt
  SendMessage_(lv, #LVM_INSERTITEM, 0, @line) 
Next

Repeat 
  EventID=WaitWindowEvent() 
  Select EventID
    Case #WM_LBUTTONDBLCLK
      lvi.lvhittestinfo
      GetCursorPos_(@lvi\pt)
      GetWindowRect_(lv,@lvpos.rect)
      lvi\pt\x-lvpos\left
      lvi\pt\y-lvpos\top
      SendMessage_(lv, #LVM_HITTEST, 0, @lvi)
      edititem = lvi\iitem
      editcontrol = SendMessage_(lv,#LVM_EDITLABEL,edititem,0)
    Case #WM_KEYUP
      If editcontrol
        If EventwParam()<>#VK_RETURN
          editstring.s=Space(255)
          PokeW(@editstring, 255)
          SendMessage_(editcontrol,#EM_GETLINE,0,@editstring) 
        Else
          editcontrol = 0
          line.LV_ITEM 
          line\Mask     = #LVIF_TEXT 
          line\pszText  = @editstring 
          SendMessage_(lv, #LVM_SETITEMTEXT, edititem, @line) 
        EndIf
      EndIf
  EndSelect
Until EventID=#PB_Event_CloseWindow 

End

0

15

Пётр написал(а):

Кстати, вот простой пример редактирования данных прямо в таблице.

Спасибо!

0

16

Пётр написал(а):

Примеров работы с Access я не видел (невеное есть, но мне не попадались), есть примеры взаимодействия с Word и Excel.
Копать нужно в эту сторону http://purebasic.info/phpBB2/viewtopic.php?t=669

Очень прошу уточнить ссылку на пример работы с Excel. И какая нужна библиотека?

0

17

Библиотека PureDisphelper http://purebasic.info/phpBB3ex/viewtopic.php?t=669

0

18

Пётр написал(а):

Библиотека PureDisphelper http://purebasic.info/phpBB3ex/viewtopic.php?t=669

Спасибо! Буду разбираться.

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » помощь