Advertisement
Guest User

Untitled

a guest
Nov 1st, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GAMBAS 3.82 KB | None | 0 0
  1. Public Sub Form_Open()
  2.   Dim a As Integer
  3.   Dim m As Integer
  4.   Dim f As File
  5.   Dim s As String
  6.   Dim l As Integer
  7.   Dim n As Integer
  8.   InitProgram() ' Инициализация
  9.  
  10.   For a = 0 To MaxGPIO
  11.     If Exist(PathGPIO & "gpio" & LTrim(Str(a)) & "/value") Then
  12.         Dirs.Add(PathGPIO & "gpio" & LTrim(Str(a)) & "/", a) ' Есть файл
  13.        
  14.       Else
  15.         Dirs.Add("", a) ' Нет файла
  16.     Endif
  17.   Next
  18.   TextGPIO.Resize(Dirs.Count)
  19.  
  20.  
  21.   'Китайский код
  22.   ButtonGPIO.Add(ButtonGPIO1, 0)
  23.   ButtonGPIO.Add(ButtonGPIO1, 1)
  24.   ButtonGPIO.Add(ButtonGPIO2, 2)
  25.   ButtonGPIO.Add(ButtonGPIO3, 3)
  26.   ButtonGPIO.Add(ButtonGPIO4, 4)
  27.   ButtonGPIO.Add(ButtonGPIO5, 5)  
  28.   ButtonGPIO.Add(ButtonGPIO6, 6)
  29.   ButtonGPIO.Add(ButtonGPIO7, 7)
  30.   ButtonGPIO.Add(ButtonGPIO8, 8)
  31.   ButtonGPIO.Add(ButtonGPIO9, 9)
  32.   ButtonGPIO.Add(ButtonGPIO10, 10)
  33.   ButtonGPIO.Add(ButtonGPIO11, 11)
  34.   ButtonGPIO.Add(ButtonGPIO12, 12)
  35.   ButtonGPIO.Add(ButtonGPIO13, 13)
  36.   ButtonGPIO.Add(ButtonGPIO14, 14)
  37.   ButtonGPIO.Add(ButtonGPIO15, 15)
  38.   ButtonGPIO.Add(ButtonGPIO16, 16)
  39.   ButtonGPIO.Add(ButtonGPIO17, 17)
  40.   ButtonGPIO.Add(ButtonGPIO18, 18)
  41.   ButtonGPIO.Add(ButtonGPIO19, 19)
  42.   ButtonGPIO.Add(ButtonGPIO20, 20)
  43.   ButtonGPIO.Add(ButtonGPIO21, 21)
  44.   ButtonGPIO.Add(ButtonGPIO22, 22)
  45.   ButtonGPIO.Add(ButtonGPIO23, 23)
  46.   ButtonGPIO.Add(ButtonGPIO24, 24)
  47.   ButtonGPIO.Add(ButtonGPIO25, 25)
  48.   ButtonGPIO.Add(ButtonGPIO26, 26)
  49.   ButtonGPIO.Add(ButtonGPIO27, 27)
  50.   m = ButtonGPIO.Max
  51.  
  52.   'Боковые надписи
  53.   f = Open ConfigListGPIO For Input
  54.   While Not Eof(f)
  55.     Line Input #f, s
  56.     l = Len(s)
  57.     If l > 2 Then
  58.       For a = 1 To l
  59.         If Mid(s, a, 1) = " " Then Break
  60.       Next
  61.       If a <> 1 And a <> l Then
  62.         n = Val(Mid(s, 1, a - 1)) ' номер до пробела
  63.         TextGPIO[n] = Mid(s, a + 1)
  64.        
  65.        
  66.       Endif
  67.     Endif
  68.   Wend
  69.   f.Close
  70.  
  71.  
  72.  
  73.   LabelGPIO.Resize(Dirs.Count) 'Подписи
  74.  
  75.   For a = 1 To m
  76.     Object.Attach(ButtonGPIO[a], Me, "ButtonGPIO") 'привязка события
  77.    
  78.     If Dirs[a] = "" Then ButtonGPIO[a].Enabled = False 'Проверка доступности
  79.    
  80.     'Подписи
  81.     LabelGPIO[a] = New TextLabel(Me)  ' Привязка события для обработки двойного клика
  82.     Object.Attach(LabelGPIO[a], Me, "LabelGPIO")
  83.  
  84.     LabelGPIO[a].Tag = Str(a) ' Тэг
  85.     LabelGPIO[a].Font.Bold = True
  86.     LabelGPIO[a].Visible = True
  87.     LabelGPIO[a].Width = ButtonGPIO[a].Width * 1.29
  88.     LabelGPIO[a].Height = ButtonGPIO[a].Height
  89.    
  90.     LabelGPIO[a].Text = TextGPIO[a]
  91.    
  92.     Wait
  93.     'LabelGPIO[a].Border = Border.Plain
  94.     If ButtonGPIO[a].X = ButtonGPIO1.X Then
  95.       'В первом ряду
  96.       LabelGPIO[a].Alignment = Align.Left
  97.       LabelGPIO[a].X = ButtonGPIO[a].X + ButtonGPIO[a].Width
  98.       LabelGPIO[a].Y = ButtonGPIO[a].Y
  99.     Else
  100.       'Во втором ряду
  101.       LabelGPIO[a].Alignment = Align.Right
  102.       LabelGPIO[a].X = ButtonGPIO[a].X - LabelGPIO[a].Width
  103.       LabelGPIO[a].Y = ButtonGPIO[a].Y
  104.     Endif
  105.     '
  106.     LabelGPIO[a].AutoResize = False
  107.     LabelGPIO[a].Font.Bold = False
  108.     If Len(LTrim(RTrim(TextGPIO[a]))) > 0 Then
  109.       LabelGPIO[a].Visible = True
  110.     Else  
  111.       LabelGPIO[a].Visible = False
  112.     Endif
  113.   Next
  114.  
  115.   'Показывание путей к файлам
  116.   ConfigFileLabel.Text = ConfigFile
  117.   TextGPIOLabel.Text = ConfigListGPIO
  118.   DirGPIOLabel.Text = PathGPIO
  119.   LogFileLabel.Text = LogFile
  120.  
  121.  
  122.   ' Проверка возможностей чтения логических едениц
  123.   For a = 1 To ButtonGPIO.Max
  124.     If ReadGPIO(a) = True Then
  125.       ReverseLinkButton[a] = True 'Кнопка должна быть интерактивной
  126.     Endif
  127.   Next
  128.  
  129.   PrintInLog("started")
  130.  
  131. End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement