Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 3.525 pregleda

Najnovija ↓

Koristiti jednu formu kao pocetnu samo jedanput? 26.07.2007. u 22:35 · pre 234 meseca #1
E ovako prije svega
Zdravo,

U VB6 radim jedan program pa sam zapeo. Sada imam dvije forme: form5 i form8 ("Ima njih jos ali ove dvije su glavne)
Sada form8 sam postavio kao pocetnu formu. Sljedeci put kad se pokrene program pocetna forma treba da bude form5.
Znaci:
Prvi put kada se pokrene program na nekom racunaru pocetna forma treba da bude form8, a drugi, treci... put pocetna forma treba da bude form5.
Znali to iko rijesiti jer to mi hitno treba!
POzdrav
Potpis
Posjetite
www.selvedin-kovaci.co.nr
www.os-kovaci.co.nr

Posjetite Selvedinov forum i obavezno se registrujte!!!
[url]www.topfreeforum.com/selvedin[/url]
Re: Koristiti jednu formu kao pocetnu samo jedanput? 26.07.2007. u 23:21 · pre 234 meseca #2
Evo koda, na brzinu napisanog.

Code:

Public Sub Main()
   On Error Resume Next
   ocitanoizfajla = ProcitajizFajla
   If Val(ocitanoizfajla) = 0 Or Val(ocitanoizfajla) = "5" Then
        Call SnimiuFajl("8")
        Form8.Show
   End If
   If Val(ocitanoizfajla) = "8" Then
        Call SnimiuFajl("5")
        Form5.Show
   End If
End Sub

Public Sub SnimiuFajl(brojforme)
    redbrfajla = FreeFile
    Open "BrForme.txt" For Output As #redbrfajla
        Print #redbrfajla, brojforme
   Close #redbrfajla
End Sub

Public Function ProcitajizFajla()
   redbrfajla = FreeFile
   Open "BrForme.txt" For Input As #redbrfajla
        Line Input #1, ocitanoizfajla
   Close #redbrfajla
   ProcitajizFajla = ocitanoizfajla
End Function
Potpis
rgdrajko
Re: Koristiti jednu formu kao pocetnu samo jedanput? 26.07.2007. u 23:27 · pre 234 meseca #3
Trebas negde zapisati da je aplikacija vec jednom pokrenuta (u Registry, u neki fajl i sl.). Onda bi aplikacija kada je startujes proveravala (recimo u form8 form_load) da li je to zapisano i ako nije onda nastavlja sa radom i upisuje taj podatak a ako jeste onda pozove prikazivanje form5 i zatvara sebe.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Koristiti jednu formu kao pocetnu samo jedanput? 27.07.2007. u 04:46 · pre 234 meseca #4
Malopre nisam video rgdrajko-v post jer smo pisali u isto vreme.
Taj kod nece raditi dobro.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Koristiti jednu formu kao pocetnu samo jedanput? 27.07.2007. u 10:02 · pre 234 meseca #6
U slucaju da se prvi put pokrece aplikacija dobices "file not found" gresku jer pozivas otvaranje fajla koji ne postoji.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Koristiti jednu formu kao pocetnu samo jedanput? 27.07.2007. u 10:04 · pre 234 meseca #7
Logicka greska.
Sa ovom izmjenjenom procedurom radi dobro.

Code:

Public Sub Main()
   On Error Resume Next
   ocitanoizfajla = ProcitajizFajla
   If Val(ocitanoizfajla) = 0 Or Val(ocitanoizfajla) = "5" Then
        Call SnimiuFajl("8")
        Form8.Show
   Else
        Load Form5
        Form5.Show
   End If
'   If Val(ocitanoizfajla) = "8" Then
'        Call SnimiuFajl("5")
'        Form5.Show
'   End If
End Sub


P.S. ovo sam na brzinu prepravio (znam da je moglo jednostavnije).
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Re: Koristiti jednu formu kao pocetnu samo jedanput? 27.07.2007. u 13:57 · pre 234 meseca #8
Nisam vidjeo Shadowed-ov post (pisali smo u isto vrjeme).

Pored toga sto je Shadowed rekao, postoji logicka greska, jer svakim drugim pokretanjem starta se Form8, sto nije trazeno u zadatku.

Selo-Kovaci evo jedno elegantnije rjesenje, a zasniva se na upisivanju u registry (bas kao sto je Shadowed rekao)

Code:

Option Explicit

Dim reg As Variant

Public Sub Main()
Dim a As String

Set reg = CreateObject("wscript.shell")

On Error GoTo RegErr
a = reg.regread("HKCU\Software\Form8\Forma8")

If a = "Y" Then
    Load Form5
    Form5.Show
End If

Exit Sub
RegErr:
    reg.regwrite "HKCU\Software\Form8\Forma8", "Y", "REG_SZ"
    Load Form8
    Form8.Show

End Sub
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Re: Koristiti jednu formu kao pocetnu samo jedanput? 27.07.2007. u 14:33 · pre 234 meseca #10
Main() proceduru pises u nekom od standardnih modula, a ako nemas nijedan standardni modul u projektu - dodaj ga. Nakon toga u Project Explorer prozoru selektuj tvoj projekt, pa desni klik, pa Properties, ili u Project meniju to isto i na ekranu za podesavanja osobina projekta za opciju "Startup Object" izaberi sa liste "Sub Main".
Re: Koristiti jednu formu kao pocetnu samo jedanput? 27.07.2007. u 14:38 · pre 234 meseca #11
Ili jos jednostavnije ;)
Nije bitno sta i da li ista pise u fajlu, postojanje fajla moze biti indikator:
Code:

Private Sub Form_Load()
    Dim MyFSO As New FileSystemObject
    If MyFSO.FileExists("IntroDone.txt") Then
        Form5.Show
        Unload Me
    Else
        MyFSO.CreateTextFile ("IntroDone.txt")
    End If
    Set MyFSO = Nothing
End Sub

Kod ide u form8 koji je vec postavljen kao start form (nema potrebe prepravljati na funkciju main).
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme