ahoj,
potřeboval bych poradit jak oblbnout Visual basic 6  jelikož potřebuji více prostoru a on mi hlásí u ovl. prvku COMBO chybu 
"Postup je příliš velký" ="procedure too large"tak teď řešim jak to dokončit jelikož bych potřeboval mnohonásobně více prostoru.. 
Díky za odpovědi...
			
									
									
						Chyba ve Visual Basic 6 "Postup je příliš velký"
- Ellrohir
 - nováček
 - Příspěvky: 49
 - Registrován: prosinec 11
 - Bydliště: Praha
 - Pohlaví: 

 - Stav:
		Offline
 - Kontakt:
 
Re: Chyba ve Visual Basic 6 "Postup je příliš velký"
budeš muset přijít na způsob jak tu proceduru rozdělit na víc menších a nebo na jiný způsob řešení, protože narážíš na technické limity jazyka VB6, který ti prostě víc nedovolej (viz http://msdn.microsoft.com/en-us/library/Aa240819)
hoď sem kdyžtak buďto celej kód nebo aspoň ideu toho, co to má dělat, a můžem se podívat, co by se s tím dalo dělat
			
									
									hoď sem kdyžtak buďto celej kód nebo aspoň ideu toho, co to má dělat, a můžem se podívat, co by se s tím dalo dělat
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."
						Re: Chyba ve Visual Basic 6 "Postup je příliš velký"
Jde o ovl. prvek COMBO a je to podmínka uvedu příklad: když v COMBO1 bude "OVOCE" tak COMBO2 bude obsahovat 
např. "jablko","hruška","Švestka" a potom další podmínky třeba zeleniny atd... Tak teď už jsem v 1. třetině a zjistil jsem že VB má tyhle limity...
 
Ono by to asi bylo nuda programovat kdyby se nenašly nějaký ty překážky.. :-) Máš představu o jaký princip jde ?
Vlastně to vázne na tom že těch položek v COMBO 2 už je hodně..
			
									
									
						např. "jablko","hruška","Švestka" a potom další podmínky třeba zeleniny atd... Tak teď už jsem v 1. třetině a zjistil jsem že VB má tyhle limity...
Ono by to asi bylo nuda programovat kdyby se nenašly nějaký ty překážky.. :-) Máš představu o jaký princip jde ?
Vlastně to vázne na tom že těch položek v COMBO 2 už je hodně..

- Ellrohir
 - nováček
 - Příspěvky: 49
 - Registrován: prosinec 11
 - Bydliště: Praha
 - Pohlaví: 

 - Stav:
		Offline
 - Kontakt:
 
Re: Chyba ve Visual Basic 6 "Postup je příliš velký"
tak jako první navrhuju napsat si funkce typu vratOvoce(), vratZeleninu(), do nich narvat jednotlivý možnosti pro COMBO2 podle daný třídy prvků a na základě výběru z COMBO1 volat tu kterou funkci...tím to budeš mít rozdělený na menší kousky a už by to mohlo projít 
			
									
									"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."
						Re: Chyba ve Visual Basic 6 "Postup je příliš velký"
Posílám kousek kódu .. Jelikož nevím jak tam vytvořit tu funkci na vracení hodnoty.. Na jednotlivou kolonku se totiž vypisují 
ještě kolonky LAbel a provádí se i výpočty..Díky
			
									
									
						ještě kolonky LAbel a provádí se i výpočty..Díky
Kód: Vybrat vše
 Private Sub Combo1_Click()
If Combo1 = "Banány" Then Label11 = "1790"
 If Combo1 = "Banány" Then Label12 = Round(1.79 * Val(Text1.Text), 0)
 If Combo1 = "Banány" Then Label13 = "6,0"
 If Combo1 = "Banány" Then Label14 = Round(0.006 * Val(Text1.Text), 1)
 If Combo1 = "Banány" Then Label15 = "1,0"
 If Combo1 = "Banány" Then Label16 = Round(0.001 * Val(Text1.Text), 1)
 If Combo1 = "Banány" Then Label17 = "104,0"
 If Combo1 = "Banány" Then Label18 = Round(0.104 * Val(Text1.Text), 1)
End Sub
Private Sub Combo14_Click()
 Combo1.Clear
If Combo14 = "  OVOCE ČERSTVÉ  " Then Combo1.AddItem "Banány"
End Sub
Private Sub Form_Load()
    Combo14.AddItem "  OVOCE ČERSTVÉ  "
End Sub- CZechBoY
 - Master Level 9.5

 - Příspěvky: 8813
 - Registrován: srpen 08
 - Bydliště: Brno
 - Pohlaví: 

 - Stav:
		Offline
 - Kontakt:
 
Re: Chyba ve Visual Basic 6 "Postup je příliš velký"
tenhle kod je úplně normální...
samozřejmě nechápu ty Ify, to je zbytečnost - přepsat to můžeš (musíš) takhle:
			
									
									samozřejmě nechápu ty Ify, to je zbytečnost - přepsat to můžeš (musíš) takhle:
VB6 píše:If Combo1 = "Banány" Then
Label11 = "1790"
Label12 = Round(1.79 * Val(Text1.Text), 0)
Label13 = "6,0"
Label14 = Round(0.006 * Val(Text1.Text), 1)
Label15 = "1,0"
Label16 = Round(0.001 * Val(Text1.Text), 1)
Label18 = Round(0.104 * Val(Text1.Text), 1)
End If
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
						IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: Chyba ve Visual Basic 6 "Postup je příliš velký"
ok... Díky za dobrý tip... 
Jen teď řeším hlavně to že to musim nějak rozdělit na více menších prvků aby mi to ten Visual Basic pochopil a nic mě už nenapadá..
			
									
									
						Jen teď řeším hlavně to že to musim nějak rozdělit na více menších prvků aby mi to ten Visual Basic pochopil a nic mě už nenapadá..
- domitea
 - Tvůrce článků
 - 
		Level 4.5
		
	 - Příspěvky: 1971
 - Registrován: červen 09
 - Bydliště: Královehradecký kraj
 - Pohlaví: 

 - Stav:
		Offline
 - Kontakt:
 
Re: Chyba ve Visual Basic 6 "Postup je příliš velký"
A co zkusit něco jiného, než visual basic 6? je už i VB .NET
			
									
									
						- Ellrohir
 - nováček
 - Příspěvky: 49
 - Registrován: prosinec 11
 - Bydliště: Praha
 - Pohlaví: 

 - Stav:
		Offline
 - Kontakt:
 
Re: Chyba ve Visual Basic 6 "Postup je příliš velký"
tak neznám sice VB6, třeba to tam tak nejde...ale idea toho co jsem navrhoval prve:
původní kód
změnit na
a někde separátně udělat "ProceduruNastavujiciLabely" a do jejího těla strčit
tím si to hezky rozsekáš na menší procedury, z nichž už by pak žádná neměla přesahovat ten velikostní limit...
pokud tohle nejde v VB6 udělat (např. proto, že pak ta procedura nebude vědět, co jsou Label1 - Label8), tak mě někdo zaražte...
			
									
									původní kód
Kód: Vybrat vše
If Combo1 = "Banány" Then
Label11 = "1790"
Label12 = Round(1.79 * Val(Text1.Text), 0)
Label13 = "6,0"
Label14 = Round(0.006 * Val(Text1.Text), 1)
Label15 = "1,0"
Label16 = Round(0.001 * Val(Text1.Text), 1)
Label18 = Round(0.104 * Val(Text1.Text), 1)
End Ifzměnit na
Kód: Vybrat vše
If Combo1 = "Banány" Then
ProceduraNastavujiciLabely
End If
a někde separátně udělat "ProceduruNastavujiciLabely" a do jejího těla strčit
Kód: Vybrat vše
Label11 = "1790"
Label12 = Round(1.79 * Val(Text1.Text), 0)
Label13 = "6,0"
Label14 = Round(0.006 * Val(Text1.Text), 1)
Label15 = "1,0"
Label16 = Round(0.001 * Val(Text1.Text), 1)
Label18 = Round(0.104 * Val(Text1.Text), 1)
tím si to hezky rozsekáš na menší procedury, z nichž už by pak žádná neměla přesahovat ten velikostní limit...
pokud tohle nejde v VB6 udělat (např. proto, že pak ta procedura nebude vědět, co jsou Label1 - Label8), tak mě někdo zaražte...
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."
						Re: Chyba ve Visual Basic 6 "Postup je příliš velký"
Myslíš to tak jakoby udělat několik globálních proměnných jako nastavujici 1 nebo nastavujici 2 a postupně je vypisovat? otázka ještě jak a kam to "separátně" vepsat.. potřebuju hlavně pro ty COMBA ubrat příkazy ať se mi jich tam vleze asi 4x víc..
			
									
									
						- 
				
- Mohlo by vás zajímat
 - Odpovědi
 - Zobrazení
 - Poslední příspěvek
 
 
- 
				
- 18
 - 6492
 - 
						od pcmaker
						Zobrazit poslední příspěvek 
28 úno 2025 15:22
 
 - 
				
- 16
 - 9208
 - 
						od petr22
						Zobrazit poslední příspěvek 
02 dub 2025 21:50
 
 - 
				
- 4
 - 3895
 - 
						od Steage7717
						Zobrazit poslední příspěvek 
12 lis 2024 18:49
 
 - 
				
- 6
 - 11654
 - 
						od atari
						Zobrazit poslední příspěvek 
16 bře 2025 11:11
 
 - 
				
- 4
 - 2904
 - 
						od zik9
						Zobrazit poslední příspěvek 
12 čer 2025 15:33
 
 
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 20 hostů

