Open file for input, VB6 to Gambas translation.
Posted
#1
(In Topic #1064)
Trainee
Please, if somebody can help me with translation of this part of program.
This program was write by me 20 years ago on windows (vb6). From 20 years I switch to linux I wont to translate this program to Gambas.
VB6 code:
Public Variante(1 To 500, 1 To 6) As Integer
Public Numar_extrageri As Integer
Public Sub Incarcare_Extrageri()
Open "C:\WINDOWS\Desktop\extrageri.loto" For Input As #1
Input #1, Numar_extrageri
frmMain.ProgressBar1.Visible = True
frmMain.sbStatusBar.SimpleText = "Incarcare Extrageri"
frmMain.ProgressBar1.Min = 0
frmMain.ProgressBar1.Max = Numar_extrageri
frmMain.Caption = "Incarcare Extrageri"
For x = 1 To Numar_extrageri
frmMain.ProgressBar1.Value = x
DoEvents
Input #1, Variante(x, 1), Variante(x, 2), Variante(x, 3), Variante(x, 4), Variante(x, 5), Variante(x, 6)
Next x
Close #1
frmMain.sbStatusBar.SimpleText = "Extrageri Incarcate"
frmMain.Caption = "Loto 5/40"
frmMain.ProgressBar1.Visible = False
End Sub
Gambas code:
Sub Incarcare_Extrageri()
Dim Fisier As File
Dim Numar_extrageri As Integer
Dim x As Integer
Dim Variante As New Integer[500, 6]
Fisier = Open "Extrageri.loto" For Input
Input Numar_extrageri
TextArea1.Text = Numar_extrageri
'frmMain.ProgressBar1.Visible = True
'frmMain.sbStatusBar.SimpleText = "Incarcare Extrageri"
'frmMain.ProgressBar1.Min = 0
'frmMain.ProgressBar1.Max = Numar_extrageri
'frmMain.Caption = "Incarcare Extrageri"
For x = 1 To Numar_extrageri
'frmMain.ProgressBar1.Value = x
'Wait
Label47.Text = x
Input #1, Variante[x, 1], Variante[x, 2], Variante[x, 3], Variante[x, 4], Variante[x, 5], Variante[x, 6]
Next
Close #1
' frmMain.sbStatusBar.SimpleText = "Extrageri Incarcate"
' frmMain.Caption = "Loto 5/40"
' frmMain.ProgressBar1.Visible = False
End
the file looks like this
455
5,13,25,26,37,38
5,11,20,21,32,38
10,11,27,29,32,38
3,10,31,36,38,40
…..
up to 455lines
All I want is to read a file like this … read the fist line (455) and put it in variable "Numar_extrageri" after theat with for x=1 to Numar_extrageri to read all the numbers in Variante matrix.
Sorry for my English
Thanks
Posted
Posted
Guru

Code (gambas)
- Line Input #Fisier, sText
- TextArea1.Text = sText
- frmMain.ProgressBar1.Value = x / Numar_extrageri
- Line Input #Fisier, sText
Posted
Trainee
Code
import csv
# Deschide fișierul CSV în modul de citire
with open('/home/catalin/Documente/Programe Python/Loto 540/Extrageri.loto', 'r') as fisier_csv:
# Creează un cititor CSV
cititor = csv.reader(fisier_csv)
# Citeste linia de antet
antet = next(cititor)
# Accesează doar primul element din antet și convertește-l într-un număr întreg
primul_element = int(antet[0])
# Afișează primul element din antet
print(primul_element)
# Inițializează matricea cu dimensiunile corespunzătoare
numar_randuri = primul_element
numar_coloane = 6
matrice = [[None] * numar_coloane for _ in range(numar_randuri)]
# Parcurge fiecare rând și coloană din fișierul CSV
for i, rand in enumerate(cititor):
for j, valoare in enumerate(rand):
# Stochează valoarea în matrice
matrice[i][j] = valoare
# Accesează un element specific din matrice (de exemplu, elementul de la linia a și coloana b)
a = 0
b = 0
valoare_ab = matrice[a][b]
# Afișează valoarea elementului de la linia a și coloana b
print(valoare_ab)
# Iterează prin toate elementele matricei
for x in range(numar_randuri):
print('Extragerea nr.', x + 1, '=', end=" ")
for y in range(numar_coloane):
numar = matrice[x][y]
print(numar, end=" ")
print()
I love gambas for all the function but not for file read.
1 guest and 0 members have just viewed this.



