Projekt Gambas Linux

Gambas to środowisko programistyczne, które jest rozpowszechniane na licencji GNU GPLDzięki temu możemy powiedzieć, że jest to nie tylko język programowania wywodzący się z języka podstawowego, ale także bardzo przydatne narzędzie przy budowaniu aplikacji wizualnych dla niemal każdej dystrybucji GNU/Linuksa.

W Gambasie programista ma możliwość graficznego projektowania okien, przeciągania obiektów z przybornika, a następnie pisania kodu w języku podstawowym dla każdego obiektu.

Jak widzieliśmy wcześniej, Gambas opiera się na podstawowym interpreterze z rozszerzeniami obiektów, podobnym do Visual Basic. Ale zaletą Gambasa jest to, że możesz szybko zaprojektować swoją aplikację graficzną za pomocą QT lub GTK +, uzyskać dostęp do baz danych MySQL, PostgreSQL, Firebird, ODBC i SQLite, sterować aplikacjami za pomocą DBUS, tworzyć polecenia Front End of Linux, wykonywać aplikacje 3D OpenGL , tworzyć aplikacje webowe CGI, generować m.in. pakiety instalacyjne dla różnych dystrybucji.

Z tego powodu możemy więc powiedzieć, że w Gambasie nie jest to kopia ani klon Visual Basic, gdyż mimo iż bazuje na basic, jest alternatywą do tworzenia programów i aplikacji dla środowisk GNU. Jeśli przyjrzymy się historii krewetek, przekonamy się, że pierwsza wersja krewetek została wydana w 1999 roku przez Francuza Benoît Minisiniego, tworząc środowisko, które pozwoli nam łatwo programować i rozwijać aplikacje z graficznym interfejsem użytkownika.

Początkowo forma programu w Gambasie była podobna do formy Gimpa, z kilkoma oknami i zorientowana na użycie Qt i KDE. Przeskok do wersji 2.x w 2008 r. wiązał się z całkowitym przeprojektowaniem graficznego interfejsu programistycznego, integrując wszystko w jednym oknie i umożliwiającym korzystanie z GTK +. W 2011 przeskoczył do wersji 3.x.

Zacznijmy od Instalacja Gambasa3.

1. Jak zainstalować Gambas3


Prostota Gambas sprawia, że ​​jest łatwy w użyciu, więc nie trzeba znać żadnego języka programowania. Wystarczy mieć bezpłatną instrukcję i poświęcić jej trochę czasu. Z tego powodu jest idealny do nauki, jeśli dopiero zaczynasz. Cóż, nauczmy się, jak zainstalować go w naszym systemie operacyjnym Linux:

Najpierw musimy otworzyć terminal poleceń i wprowadzić te polecenia jeden po drugim:

 sudo add-apt-repository ppa: gambas-team / gambas-daily sudo apt-get aktualizacja sudo apt-get zainstaluj gambas3 
Polecenia instalacji Gambasa

Za pomocą tego wiersza poleceń możemy uzyskać najnowszą wydaną wersję Gambasa. Obecnie idą na 3.8.1, chociaż zalecam posiadanie najbardziej stabilnej wersji, którą możemy uzyskać za pomocą tych innych poleceń, ale musimy pamiętać, że nigdy nie możemy dodać dwóch PPA jednocześnie, możemy mieć tylko jeden z tych dwóch, to dlatego, że moglibyśmy spowodować błąd i musielibyśmy zacząć od nowa czyszczenie poprzednich instalacji.

2. Utwórz projekt Gambas z bazą danych i raportem


Pierwszą rzeczą, którą musimy zrobić, to zaprojektować bazę danych potrzebną do przechowywania naszych informacji. Ten, który proponuję, nosi nazwę „studenci” i będzie miał dwa stoły (studenci i przedmioty).
 Tabela uczniów: dowód osobisty, dowód osobisty, imiona, nazwiska, adres, telefon i e-mail. Tabela tematów: id, nazwa_tematu 
W tym celu korzystamy z bardzo prostego menedżera do projektowania baz danych, zwanego Przeglądarka danych SQLite, otwieramy go i tworzymy bazę danych, klikając nowy przycisk. Lokalizujemy, gdzie go zapiszemy i tworzymy tabele według poprzedniego projektu.

Po utworzeniu wyglądałoby to tak:

Pole ID zostawimy jako klucz podstawowy w obu tabelach. Przed zamknięciem mini-menedżera dodajemy do niego trochę danych, aby sprawdzić jego działanie podczas projektowania formularzy w programie. Teraz, jeśli możemy kliknąć przycisk Zapisz i zamknąć mini-menedżer przeglądarki danych.

3. Wykonywanie programu Gambas


Otwieramy Gambas i tworzymy nowy projekt nadając mu nazwę i odpowiednią ścieżkę:

POWIĘKSZAĆ

Dla większej wygody umieściliśmy bazę danych utworzoną w ramach folderu stworzonego dla projektu, w tym przypadku folderu o nazwie GestionEstudiantes, dzięki czemu łatwo będzie zlokalizować jej ścieżkę w programie.

 „Konfigurujemy przycisk wyjścia. Public Sub btnCerrar_Click () Zakończ koniec 
Stworzyliśmy dwa nowe formularze, do wprowadzania studentów i przedmiotów.

Teraz konfigurujemy przycisk, aby wprowadzić uczniów:

 Public Sub btnNuevoEstudiante_Click () FMain.Hide FormEstudiantes.Show End 
Konfigurujemy również przycisk dodawania tematu:
 Public Sub btnNuevaAsignatura_Click () FMain.Hide FormCourses.Show End 
Więc przydzielimy to.

4. Projekt formularza zgłoszeniowego dla studentów


Na początek postawiliśmy columview oraz dwa przyciski, do których odpowiednio wstawimy nowy tekst i wyjdziemy (Właściwość tekstowa).

Możemy, jeśli chcemy, dodać ikonę do każdego przycisku za pomocą właściwości obrazu. Do columview nazwiemy to po prostu „stołem” (w nazwie nieruchomości) jest bardzo podobny do każdej tabeli i staramy się, aby ten pierwszy projekt bazy danych był tak prosty, jak to tylko możliwe.

Zadzwonimy do przycisków: btnnowy Tak wychodzić.

Formularz wyglądałby tak:

Konfigurujemy przycisk zamykania formularza.

 Public Sub btnExit_Click () Me.Close End 
Teraz przechodzimy do kodowania.

5. Zaczęliśmy kodować Gambas


Zaczniemy umieszczać kod w naszym programie i będziemy go skomentować. Pierwszą rzeczą w bazie danych jest połączenie z nią. W tym celu Gambas zapewnia nam: Obiekt połączenia.

Wszystko, co pojawia się z pojedynczym apostrofem w kodzie, jest komentarzem, który nie zostanie zinterpretowany przez program.

Przykład:

 Zmienna 'Project Test Private hconn As Connection' do ustanowienia połączenia Private Function ConnectBase() Jako Boolean 'zmienna dla połączenia, zwraca wartość true lub false If hconn Null Then Return False' sprawdzamy, czy połączenie nie jest otwarte hconn = New Połączenie 'Inicjujemy połączenie nową metodą, a następnie przekazujemy mu parametry z parametrem hconn' dla ścieżki bazy danych hconn.Host = "/ home / test" hconn.Name = "students" 'nazwa bazy danych hconn.Type = " sqlite3" 'typ bazy danych Try hconn.Open()' próbujemy otworzyć połączenie jeśli się nie powiedzie wysyłamy komunikat o błędzie i nadajemy mu wartość null If Error Then hconn = Null Message.Error ( "Nie udało się połączyć z bazy danych") Zwróć Prawda Endif Zwróć Fałsz Koniec 
Po skopiowaniu powyższego kodu kliknij opcję Uruchom z menu Debug. Jeśli wszystko pójdzie dobrze, nie powinien pojawić się żaden błąd i ponownie pojawi się ekran naszego projektu. Co oznacza, że ​​połączenie z naszą Bazą danych zostało wykonane w sposób zadowalający.

W przypadku błędu, oto możliwe przyczyny:

Przyczyny błęduPrzyjrzyjmy się rodzajom przyczyn:

1. Podczas kopiowania i wklejania kodu należy wziąć pod uwagę cudzysłowy, które często zmieniają się podczas kopiowania i wklejania i dlatego nie są rozpoznawane przez aplikację. W takim przypadku wskazane jest usunięcie cudzysłowów i umieszczenie ich ręcznie. Kod wewnątrz cudzysłowów musi być w kolorze fuksji, aby wiedzieć, że jest poprawny.

2. Innym możliwym błędem jest nie zaznaczenie odpowiednich opcji w zakładce Właściwości projektu, którą można znaleźć, klikając menu Projekt, następnie Właściwości i tam w zakładce Komponenty sprawdź, czy zaznaczone są następujące opcje:

  • bg
  • gb.db
  • gb.db.sqlite3
  • gb.formularz
  • gb.db.mysql (Nie powinno to być konieczne dla tworzonej przez nas bazy danych, ale i tak to zaznaczamy)

3. Innym bardzo częstym błędem jest ścieżka, w której mamy zarówno projekt, jak i bazę danych, czyli tam, gdzie w kodzie znajdują się podświetlone linie do skopiowania i wklejenia.

Po naprawieniu ewentualnych błędów i sprawdzeniu działania naszej aplikacji przystępujemy do zamykania połączenia umieszczając na końcu poniższy kod.

 PUBLIC SUB zamknij połączenie () IF hconn = NULL THEN RETURN hconn.Close () hconn = NULL END 
Najpierw widzimy, że nie jest już zamknięty, jeśli nie, zamykamy go .blisko

6. Wyświetl zapisane dane


Otwieramy formularz i w ramach Proces formularza i umieszczamy następujący kod:

(Nie zapomnij sprawdzić cudzysłowów, które podczas wklejania kodu mogły zostać zmienione).

 Public Sub Form_Open() 'najpierw deklarujemy zmienne i czyścimy widok kolumn Dim hresul As Result Dim key As String Dim filtr As String table Clear If ConnectBase() Then Return' potwierdzamy połączenie z bazą danych 'definiujemy właściwości dla widoku kolumn 'liczba dla liczby kolumn' tekst dla tytułu kolumn 'szerokość dla szerokości kolumn' wyrównanie dla wyrównania pól. table.Columns.Count = 6 table.Columns [0] .Text = "Cedula" table.Columns [0] .Alignment = Wyrównaj.Center table.Columns [0] .Width = 100 table.Columns [1] .Text = Tabela "Nazwy".Kolumny [1] .Wyrównanie = Wyrównaj.Wyśrodkuj tabelę.Kolumny [1] .Szerokość = 120 table.Kolumny [2] .Text = Tabela "Nazwisko".Kolumny [2] .Wyrównanie = Wyrównaj.Wyśrodkuj tabelę .Kolumny [2] .Szerokość = 120 tabela.Kolumny [3] .Tekst = "Adres" tabela.Kolumny [3] .Wyrównanie = Wyrównanie.Środek tabeli.Kolumny [3] .Szerokość = 120 tabela.Kolumny [4]. Text = Tabela "Telefon".Kolumny [4] .Wyrównanie = Wyrównaj.Wyśrodkuj tabelę.Kolumny [4] .Width = 120 table.Kolumny [5] .Text = Tabela "Poczta".Kolumny [5] .Wyrównaj = Wyrównaj. Center table.Columns [5] .Width = 120 hresul = hconn.Exec („wybierz * od uczniów”) 'Ta instrukcja przeszukuje bazę danych, jeśli znajdzie dane, sprawia, że ​​zmienna hresul jest prawdziwa, a zatem jest dostępna ( Dostępne) Wykonaj Chociaż hresul .Available' następnie przejdzie przez tabelę z pętlą do while opartą na kluczu (Cedula) i wypełni tabelę danymi. key = hresul ["ID"] 'czynimy pole ID jako podstawowe dla przeszukiwań tabel.Dodaj (hasło, hasło)' dodajemy dane znalezione w bazie danych. table [klucz] [1] = hresul ["nazwy"] table [klucz] [2] = hresul ["nazwisko"] table [klucz] [3] = hresul ["adres"] table [klucz] [4] = hresul ["telefon"] table [klucz] [5] = hresul ["poczta"] hresul.MoveNext() 'ta instrukcja przesuwa wyszukiwanie do następnej pętli danych' Ponownie wykonuje instrukcje wewnątrz pętli, dopóki nie będzie ich więcej dane do wyświetlenia. CloseConnection () 'zamyka połączenie End 
Proces formularza

Na koniec uruchamiamy go i sprawdzamy jego działanie, co zwróci następujący wynik:

POWIĘKSZAĆ

7. Utwórz formularz, aby wprowadzić dane ucznia


Teraz stworzymy nowy formularz, który pozwoli nam wprowadzić dane dla nowych uczniów, sugerowana nazwa to edata.

Będzie miał następujące obiekty: 6 etykiet, 6 pól tekstowych i dwa przyciski.

Sugerowany układ wygląda następująco:

Aby sprawdzić, czy wszystko idzie dobrze, przechodzimy do formularza, który pokazuje listę uczniów i konfigurujemy nowy przycisk w następujący sposób:

POWIĘKSZAĆ

Jeśli nie ma błędów i wszystko idzie dobrze, przejdźmy do skonfigurowania nowo utworzonego formularza do wprowadzania nowych danych ucznia. Ten formularz otrzyma odniesienie do obiektu typu połączenie, w naszym przypadku hconn dlatego umieszczamy go na początku naszej formy.

 'Plik klasy Gambas' najpierw konfigurujemy połączenie Private hconn As Connection 'tworzymy metodę runnew, która zostanie wywołana z formularza zawierającego listę uczniów Public Sub runnew (dane As Connection) hconn = data' referencja dla poprzedniego formularza Me. ShowModal () 'wymusza interakcję z formularzem przed jego zamknięciem End Konfigurujemy przycisk anulowania: Public Sub btnCancelar_Click () Me.Close (0) End Aby wprowadzić nowe dane, użyjemy następującej instrukcji: TRY hconn.EXEC („ wstaw do mytable wartości ( & 1, & 2, & 3, & 4, & 5. & 6) ”, txtid, txtname, txlastname, txtphone, txtmobile, txtcumple) exec Pola będą wywoływane znakiem &, a odpowiedni indeks, jak pokazano poniżej. (& 1, & 2, & 3, & 4, & 5. & 6) 
Wróćmy do poprzedniego formularza i skonfigurujmy przycisk akceptacji w następujący sposób:

POWIĘKSZAĆ

Najpierw próbujemy połączyć się z naszą bazą danych, jeśli nam się nie uda, wychodzimy. Po nawiązaniu połączenia zadzwoniliśmy runnewde metoda fdata. Ponieważ ten formularz jest wyświetlany w formie modalnej, ten kod czeka na nas na wprowadzenie danych w fdata lub po prostu go zamykamy.

Następnie zamyka połączenie i wywołuje metodę form_open, która ponownie ładuje dane, aby pokazać wprowadzone zmiany. Teraz zobaczymy, jak możemy zmodyfikować rekord, na przykład jeśli znajomy zmieni telefon komórkowy, po prostu edytuj to pole.

Skorzystamy z aktywującego zdarzenia naszej kontroli widok kolumny (tabela) aby dodać tę funkcjonalność. To zdarzenie jest wywoływane przez dwukrotne kliknięcie dowolnej kolumny w tabeli.

 Public Sub table_Activate () Dim hresul Jako wynik If table.Current = Null Następnie zwróć If ConnectBase () Then Return hresul = hconn.Edit ("students", "ID = & 1", table.Current.Key) edata.runedit ( hresul ) 'Wywołaj metodę runeedit formularza edata table.Bieżący [0] = hresul ["ID"] table.Bieżący [1] = hresul ["imiona"] table.Bieżący [2] = hresul ["nazwiska "] tabela. Obecny [3] = hresul ["adres"] tabela.Bieżący [4] = hresul ["telefon"] tabela.Bieżący [5] = hresul ["mail"] closeConnection () End 
Aktywuj wydarzenie

Linia pogrubiona to ta, która nazywa metoda edycji runedit. Ponieważ nie stworzyliśmy jeszcze tej metody, jeśli spróbujemy ją teraz uruchomić, nie zadziała.

Wróćmy zatem do wiek i umieśćmy następujące zmienne na początku formularza, aby były dostępne z całego formularza.

 Prywatny hconn Jako połączenie Prywatny hresul Jako wynik Prywatna edycja jako Boolean 
Następnie stwórzmy nową metodę o nazwie runedit:
 Public Sub runedit (dane jako wynik) hresul = edycja danych = True txtCedula.Text = hresul ["ID"] txtName.Text = hresul ["imię"] txtName.Text = hresul ["nazwisko"] txtAddress.Text = hresul [ "adres"] txtTelephone.Text = hresul ["telefon"] txtEmail.Text = hresul ["mail"] Me.ShowModal End 
To pokazuje nam dane z danymi wybranego rekordu tak, że możemy go edytować i ustawia edycję zmiennej z wartością true. Jest to konieczne, aby użyć instrukcji warunkowej podczas klikania btna zaakceptuj Rozróżnij nowe i zmodyfikowane.

Możemy go przetestować, chociaż nadal nie działa, nadal go brakuje ustaw przycisk akceptacji, ale możemy sprawdzić, czy prowadzi nas do żądanego formularza.

Skonfigurujmy przycisk akceptacji, aby zapisać zmiany:

 Public Sub btnAccept_Click () Jeśli edytujesz Then Spróbuj hresul ["cedula"] = txtCedula.Text Spróbuj hresul ["names"] = txtNames.Text Spróbuj hresul ["nazwiska"] = txtSurname.Text Spróbuj hresul ["adres"] = txtAddress .Text Spróbuj hresul ["telefon"] = txtTelephone.Text Spróbuj hresul ["mail"] = txtEmail.Text Spróbuj hresul.Update Else Spróbuj hconn.Exec ("wstaw do wartości uczniów (& 1, & 2, & 3 , & 4, & 5, & 6) ", txtCedula.Text, txtName.Text, txtSurname.Text, txtAddress.Text, txtTelephone.Text, txtEmail.Text) 'tym wpisujemy wysłane informacje Endif Me.Close () Złap wiadomość.Błąd („Nie można wprowadzić wysłanych danych”) Koniec 
Możemy teraz zapisać zmiany.

8. Skonfiguruj wyszukiwanie danych


Dodajmy do formularza przycisk wyszukiwania i pole tekstowe. Oto nowy wygląd formularza:

POWIĘKSZAĆ

Przycisk wyszukiwania konfigurujemy w podobny sposób jak nowy przycisk, oto kod:

 Public Sub btnBuscar_Click () Dim hresul Jako Wynik Dim key As String Filtr Dim As String table.Clear If ConnectBase () Then Return table.Columns.Count = 6 table.Columns [0] .Text = "Cedula" table.Columns [0 ] .Alignment = Wyrównaj.Wyśrodkuj tabelę.Kolumny [0] .Width = 100 table.Kolumny [1] .Text = Tabela "Nazwy". 120 table.Kolumny [2] .Text = Tabela "Nazwisko".Kolumny [2] .Wyrównanie = Wyrównaj.Wyśrodkuj tabelę.Kolumny [2] .Szerokość = 120 table.Kolumny [3] .Text = Tabela "Adres". Kolumny [3] .Alignment = Wyrównaj.Wyśrodkuj tabelę.Kolumny [3] .Width = 120 table.Kolumny [4] .Text = Tabela "Telefon".Kolumny [4] .Alignment = Wyrównaj.Wyśrodkuj tabelę.Kolumny [4] Width = 120 table.Columns [5] .Text = "Mail" table.Columns [5] .Alignment = Align.Center table.Columns [5] .Width = 120 filter = txtBuscar.Text hresul = hconn.Exec (" wybierz * od uczniów, dla których nazwy takie jak '"& filtr &"' ") Do While hresul.Available key = hresul ["ID"] table.Add (klucz, klucz) table [klucz] [1] = hresul [" name res "] table [hasło] [2] = hresul ["nazwisko"] table [hasło] [3] = hresul ["adres"] table [hasło] [4] = hresul ["telefon"] table [hasło] [ 5] = hresul ["mail"] hresul.MoveNext() Pętla closeConexion() End 
Dzięki temu, co zrobiliśmy, możemy już jasno określić proces, teraz zrobimy to samo z formularzem dla przedmiotów. ten sugerowany układ jest następująca:

Jak zawsze pierwszą rzeczą, którą zamierzamy zaprogramować, jest przycisk wyjścia:

 Public Sub btnExit_Click () Me.Close End 
Teraz nawiążemy połączenie z bazą danych:
 Private hconn As Connection Prywatna funkcja connectbase () As Boolean If hconn Null Then Return False hconn = Nowe połączenie hconn.Host = "/ home / test" hconn.Name = "students" 'nazwa bazy danych hconn.Type = " sqlite3 "'database type Spróbuj hconn.Open () If Error Then hconn = Null Message.Error („Błąd łączenia bazy danych”) Return True Endif Return False End 
Planujemy wydarzenie, aby zamknąć połączenie:
 Public Sub closeConexion () If hconn = Null Then Return hconn.Close () hconn = Null End 
Teraz wizualizujemy dane w columview, w otwartym zdarzeniu formularza.

Kod jest następujący:

 Public Sub Form_Open () Dim hresul Jako wynik Dim key As String Filtr Dim As String table2.Wyczyść Jeśli connectbase () Then Return table2.Columns.Count = 2 table2.Columns [0] .Text = "id" table2.Columns [0 ] .Alignment = Align.Right table2.Columns [1] .Text = "Nazwa przedmiotu lub kursu" hresul = hconn.Exec ("wybierz * z tematów") Do While hresul.Available key = hresul ["id"] table2.Add (klucz, klucz) table2 [klucz] [1] = hresul ["nazwa_sprawy"] hresul.MoveNext () Pętla closeConnection () End 
Teraz tworzymy formularz do dodawania i/lub edycji danych tabeli, przedmiotów lub kursów. Sugerowana nazwa to adata. (osoby, których dane dotyczą).

9. Programujemy przycisk zamykania

 Public Sub btnCerrar_Click () Me.Close End 
Tworzymy referencję do obiektu typu connection, w naszym przypadku hconn, dlatego na początku naszego formularza danych umieścimy następujący kod:
 Prywatny hconn jako połączenie 
Dodatkowo tworzymy metodę runnew, która zostanie wywołana z głównego formularza. Składnia jest następująca:
 Public Sub runnew (dane As Connection) hconn = data Me.ShowModal () End 
Teraz przechodzimy do formularza, aby wprowadzić dane podmiotów i w zdarzeniu btnnuevo click umieszczamy następujący kod:
 Public Sub btnNuevo_Click () Jeśli connectbase () Następnie zwróć adata.runnew (hconn) closeConexion () Form_Open () End 
Teraz możemy wypróbuj nowy przycisk tej formy.

Kontynuując ten sam formularz, kodujemy metodę modyfikacji rekordów w następujący sposób. Skorzystamy z wydarzenia aktywującego naszego kontrolka widoku kolumny (tabela) aby dodać tę funkcjonalność. To zdarzenie jest wywoływane przez dwukrotne kliknięcie dowolnej kolumny w tabeli.

 Public Sub table2_Activate () Dim hresul Jako wynik Jeśli table2.Current = Null Następnie zwróć Jeśli connectbase () Następnie zwróć hresul = hconn.Edit ("subjects", "id = & 1", table2.Current.Key) adata.runedit ( hresul ) table2.Current [0] = hresul ["id"] table2.Current [1] = hresul ["matter_name"] closeConnection() End 
Pamiętaj, że nie zadziała, dopóki nie utworzymy tego zdarzenia w formularzu adata. Wróćmy zatem do fdata i umieśćmy następujące zmienne na początku formularza, aby były dostępne z całego formularza.
 PRYWATNE hconn AS Połączenie PRYWATNE hresul AS Wynik PRYWATNE edytowanie AS Boolean 
Tworzymy metodę runedit, której kod wygląda następująco:
 Public Sub runedit (dane jako wynik) hresul = edycja danych = True txtAsignaturas.Text = hresul ["subject_name"] Me.ShowModal End 
Pamiętaj, aby przetestować, aby sprawdzić, czy wszystko idzie dobrze. Ale już programujemy przycisk akceptacji następująco:
 Public Sub btnAceptar_Click () Jeśli edytujesz Następnie Spróbuj hresul ["subject_name"] = txtAsignaturas.Text Spróbuj hresul.Update Else Spróbuj hconn.Exec ("wstaw do wartości nazwy podmiotu (& 1)", txtAsignaturas.Text) Endif Me.Close () Catch Message.Error („Nie można wprowadzić wysłanych danych”) Koniec 
Teraz programujemy procedurę wyszukiwania tematu:
 Public Sub btnBuscar_Click () Dim hresul Jako wynik Dim key As String Dim filter As String table2.Wyczyść Jeśli connectbase () Then Return table2.Columns.Count = 2 table2.Columns [0] .Text = "id" table2.Columns [0 ] .Alignment = Align.Right table2.Columns [1] .Text = "Nazwa przedmiotu lub kursu" filter = txtBuscar.Text hresul = hconn.Exec ("wybierz * z tematów, gdzie nazwa_tematu jak '" & filtr & "' ") Do While hresul.Available klucz = hresul [" id "] table2.Add (klucz, klucz) table2 [klucz] [1] = hresul [" nazwa_materii "] hresul.MoveNext () Pętla closeConexion () End 
Przygotujemy to.

Wnioski dotyczące krewetek
Dla osób, które stworzyły aplikację w Visual Basic i interesują się programowaniem, jest to jedno z narzędzi, które bez wątpienia Cię zainteresuje i jest to wyraźna opcja, którą powinieneś rozważyć.

Dzięki testom, które możemy zobaczyć w tym samouczku, widzimy, że jest to łatwe w pracy i naprawdę stworzenie innej prostej aplikacji dla Linuksa nie zajmuje dużo czasu.

Jak widzimy, autouzupełnianie, które zawiera krewetki, jest ograniczone do obiektu, z którym pracujesz, a nie jak w przypadku Geany, który może umieścić na tobie wszystko. Musimy przyznać mu punkty, ponieważ działa jak Java i Netbeans i bez dalszych komplikacji.

Więc dla tych, którzy chcą nauczyć się programować proste aplikacje w Linuksie i są ciekawi, zalecamy wypróbowanie Gambas3.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave