Olen tekemässä Malline-nimistä ohjelmaa. Miten voi kutsua toisen formin ja moduulin?
Toinen ongelma on siinä, että en osaa kääntää ohjelmia. Koodia voisi korvata Case-haaralla esim. tässä:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Napsautus.
If TextBox1.Text = "Pyyhi tämä ja kirjoita etunimi." Then
MsgBox("Laita etunimi!")
End If
If TextBox1.Text = "" Then
MsgBox("Laita etunimi!")
End If
If TextBox2.Text = "Käytä nimien väliin pilkkua." Then
MsgBox("Laita toiset nimet!")
End If
If TextBox2.Text = "" Then
MsgBox("Laita toiset nimet!")
End If
If TextBox3.Text = "Sukunimi tähän." Then
MsgBox("Laita sukunimi!")
End If
If TextBox3.Text = "" Then
MsgBox("Laita sukunimi!")
End If
If TextBox4.Text = "Muista laittaa jotain!" Then
MsgBox("Laita lempinimet!")
End If
If TextBox4.Text = "" Then
MsgBox("Laita lempinimet!")
End If
If MaskedTextBox1.Text = "" Then
MsgBox("Laita salasana!")
End If
If MaskedTextBox1.Text <> "" Then
MsgBox("Salasana on hyvä." & MaskedTextBox1.Text)
End If
If TextBox5.Text = "" Then
MsgBox("Laita viimeiseen tekstiruutuun jotakin.")
End If
If TextBox5.Text = "Tämä on vain apuna." Then
MsgBox("Tyhjennä viimeinen tekstiruutu jos käytäytät sitä.")
End If
If RichTextBox1.Text = "Olen " Then
MsgBox("Kerro itsestäsi!")
End If
End SubTuo sama koodi on 2 eri kohdassa.
Jos nyt oikein ymmärsin, niin haluat toisen formin näkyviin ja sulkea nkyisen formin napin painalluksella. Se tapahtuu seuraavasti:
Private sub Seuraava_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Seuraava.Click Me.Hide() 'Piilotta Nykyisen formin vanhemissa versioissa voi tarvita formin nimeä Form2.Show() 'Form2 tässä on formi joka halutaan ottaa esille End Sub
Toivottavasti olin avuksi edes tässä asiassa!
Kiitos!!!!!!! Se toimii!!!!!
Entä moduuli?
Moi ErroR++
julkisen moduulin jukisia aliohjelmia/funktioita voi kusua suoraan mistä tahansa
Form1.vb
Public Class Form1
Private sub Seuraava_ Button1(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
aliohjelma()
viesti = "hei"
aliohjelma()
viesti = "moi"
MsgBox(viesti)
End Sub
End Class'Module1.vb
Public Module Module1
Private merkkijono As String
Public Sub aliohjelma()
MsgBox(merkkijono)
End Sub
Public Property viesti As String
Get
Return merkkijono
End Get
Set
merkkijono = value
End Set
End Property
End ModuleJoo, aika kiva jutska!!! Täytyypä kokeilla!
Sanavarasto täyttyy koko ajan. tosta tuli sanat Get ja Set taas uusina.
Sitten on vielä Let :)
Joo, tossa opin taas tekemään uusia elementtejä... se onnistuu näin:
Private Sub ... 'ton "..." tilalle laitetaan vaikka "Button1_Click" Dim Objektin_nimi As Object ' "Objektin_nimi" voi olla mikä vaan Objektin_nimi = New elementti 'elementti voi olla vaikka "Button" Objektin_nimi.Name = "Nimi" 'nimi on elementin nimi Objektin_nimi.Size = New Size(x, y) 'tähän tulee muu koodi "button1_click:istä End Sub
Kaikki varmaan tiesi ton.
ErroR++ kirjoitti:
Joo, tossa opin taas tekemään uusia elementtejä... se onnistuu näin:
Private Sub ... 'ton "..." tilalle laitetaan vaikka "Button1_Click" Dim Objektin_nimi As Object ' "Objektin_nimi" voi olla mikä vaan Objektin_nimi = New elementti 'elementti voi olla vaikka "Button" Objektin_nimi.Name = "Nimi" 'nimi on elementin nimi Objektin_nimi.Size = New Size(x, y) 'tähän tulee muu koodi "button1_click:istä End SubKaikki varmaan tiesi ton.
Ei kyllä tunnu toimivan.
Eikä varmaan kukaan käytä noin tyhmää tapaa.
Siitä puuttuu jotain.
Mitä sen olis tarkoitus tehdä?
Jos tarkoitus on näyttää tuo luotu objekti niin vois olla hyvä lisätä se jonnekin. Nythän ko. objektin näkyvyysalue päättyy end subiin ja roskienkerääjä sitten jossain välissä keräilee sen pois muistia kuluttamasta.
Grez kirjoitti:
Mitä sen olis tarkoitus tehdä?
Jos tarkoitus on näyttää tuo luotu objekti niin vois olla hyvä lisätä se jonnekin. Nythän ko. objektin näkyvyysalue päättyy end subiin ja roskienkerääjä sitten jossain välissä keräilee sen pois muistia kuluttamasta.
No tietysti näkyä.
ErroR++ kirjoitti:
ErroR++ kirjoitti:
Joo, tossa opin taas tekemään uusia elementtejä... se onnistuu näin:
Private Sub ... 'ton "..." tilalle laitetaan vaikka "Button1_Click" Dim Objektin_nimi As Object ' "Objektin_nimi" voi olla mikä vaan Objektin_nimi = New elementti 'elementti voi olla vaikka "Button" Objektin_nimi.Name = "Nimi" 'nimi on elementin nimi Objektin_nimi.Size = New Size(x, y) 'tähän tulee muu koodi "button1_click:istä End SubKaikki varmaan tiesi ton.
Ei kyllä tunnu toimivan.
Eikä varmaan kukaan käytä noin tyhmää tapaa.
Siitä puuttuu jotain.
Mutta sitä en saa näkymään.
No missä sen olisi tarkoitus näkyä? Koodissasi ei määritellä missään tuota luomaasi objektia laitettavaksi mihinkään.
No siinä formilla...
En minä, sen paremmin kuin tietokonekaan, ole mikään ajatustenlukija. Sinun pitää kertoa että mille formille haluat sen laittaa. Ohjelmassa siis ihan käytännössä laittaa se siihen formille.. Tyyliin:
forminnimi.Controls.Add(Objektin_nimi)
Jaa kiitos!
Kannattaa katsella myös mitä se VB tekee kun lisää editorilla painikkeen:
Private Sub InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(12, 12)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 23)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Button1"
Me.Button1.UseVisualStyleBackColor = True
'
' ....
'
Me.Controls.Add(Me.Button1)
End Sub
Friend WithEvents Button1 As System.Windows.Forms.ButtonYleisvalitus: VB.Netissä kaikki on jälleen kerran niin maan vietävän paljon vaikeammaksi tehty kuin C#:ssa, että designer.vb -tiedostoa (johon nuo generoidut koodit menee) ei saa auki suoraan IDEssä, vaan pitää avata se itse tuolta projektin hakemistosta.
No joo! Eikä VBKey-vakiotkaan toimi. siirryin toisenlaiseen näppäinjutskaan...
...eikä sekään toimi. toinen projekti.
Heippa taas!
Grez kirjoitti:
Yleisvalitus: VB.Netissä kaikki on jälleen kerran niin maan vietävän paljon vaikeammaksi tehty kuin C#:ssa, että designer.vb -tiedostoa (johon nuo generoidut koodit menee) ei saa auki suoraan IDEssä, vaan pitää avata se itse tuolta projektin hakemistosta.
1. Hämmästelen Microsoftin ratkaisua (Designer.vb tidostot aukeavat ainakin SharpDevelop ympäristössä suoraan IDE:ssä)
2. Olen ohjelmoinut VB:llä (.NET), C#:llä, Boo'lla Bython'lla sun muulla IDE:nä/pohjana SharpDevelop 1.1/.NET Framework 1.1 - SharpDevelop 4.0/.NET Framework 4.0 eikä C# ole tarjonnut VB'n nähden muuta enempää, kuin käytäjän määrittämään tyyppiin castaamisen. (ongelma hoituu VB:ssä yksinkertaisella C#'llä rakennetulla .dll tiedostolla)
Jaa.
Mites näppäimet vois tulkita? Tein tämmösen höskän:
Dim KeyCode As Integer
Private Nappaimet(255) As Boolean 'Sisältää kaikkien näppäimistön näppäinten tilan
Private Sub Form_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)
Nappaimet(KeyCode) = True 'Merkitään näppäin pohjaan
End Sub
Private Sub Form_KeyUp(ByVal KeyCode As Integer, ByVal Shift As Integer)
Nappaimet(KeyCode) = False 'Merkitään näppäin vapaaksi
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
Sub TutkiNappaimet()
Do Until KeyCode = 37 Or 38 Or 39 Or 40
Select Case KeyCode
'...vasemmalle...
Case 37 ' = 37
'...yritetään liikkua vasemmalle
MsgBox("vasuri")
'...ylös...
Case 38 ' = 38
'...yritetään liikkua ylös
MsgBox("ylös")
'...oikealle...
Case 39 ' = 39
'...yritetään liikkua oikealle
MsgBox("oikee")
'...alas...
Case 40 ' = 40
'...yritetään liikkua alas
MsgBox("alas")
End Select
Loop
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TutkiNappaimet()
End SubTossa käytin vähän muutakin. Käytän VB.NET version 4.0.0.0.
Painoin ensin nappia "Button1" ja painoin nuolinäppäimiä. ei tullu MsgBoxia.
Et näyttäisi asettavan missään vaiheessa KeyCode-muuttujaa. Mitä varten tuo Nappaimet-taulukko on? KeyDownnissa pitäisi varmaan lukea this.KeyCode = KeyCode.
Hennkka kirjoitti:
Et näyttäisi asettavan missään vaiheessa KeyCode-muuttujaa.
siellähän oli:
ErroR++ kirjoitti:
Dim KeyCode As Integer
ei tunnu toimivan toi this-jutska
Nappaimet-taulukosta näkee mitkä näppäimet on pohjassa.
Hups. VB:ssä this onkin Me.
ErroR++ kirjoitti:
siellähän oli:
ErroR++ kirjoitti:
Dim KeyCode As Integer
Tarkoitin, että et ole asettanut sille missään arvoa. Jospa se toimisi nyt: Me.KeyCode = KeyCode
No sain ainakin tämmöteen tehtyä:
Dim KeyCode As Integer
Private Nappaimet(255) As Boolean 'Sisältää kaikkien näppäimistön näppäinten tilan
Private Sub Form_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)
Select KeyCode
Case 'jotain
Case 'jotain
Case 'jotain
Case 'jotain
End Select 'laajennusta kaipaa
KeyCode = KeyCode
Nappaimet(KeyCode) = True 'Merkitään näppäin pohjaan
End Sub
Private Sub Form_KeyUp(ByVal KeyCode As Integer, ByVal Shift As Integer)
Nappaimet(KeyCode) = False 'Merkitään näppäin vapaaksi
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Subtestaan vielä.
oimi!
Ei t
ja mikä sekaantuminen tälle tietsikalle oikeen tuli? texti halkes kahtia ja ne tuli eri riveille!
Sinun pitää asettaa tapahtumille (events) käsittelijä (handler). Kokeili tätä:
'Tänne kuuluu muuttujat ja form_load
Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Select Case e.KeyCode
'Jotain
End Select
Me.KeyCode = e.KeyCode
Nappaimet(KeyCode) = True 'Merkitään näppäin pohjaan
End Sub
Private Sub Form1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
Nappaimet(KeyCode) = False 'Merkitään näppäin vapaaksi
End SubNiin, sen jo unohdin. Nyt se kuitenkaan ei ilmoita mitään:
Dim KeyCode As Integer
Private Nappaimet(255) As Boolean 'Sisältää kaikkien näppäimistön näppäinten tilan
Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Select Case e.KeyCode
Case 37
MsgBox "PÖÖ!!"
Case 38
MsgBox "PÖÖ!!"
Case 39
MsgBox "PÖÖ!!"
Case 40
MsgBox "PÖÖ!!"
End Select
Me.KeyCode = e.KeyCode
Nappaimet(KeyCode) = True 'Merkitään näppäin pohjaan
End Sub
Private Sub Form1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
Nappaimet(KeyCode) = False 'Merkitään näppäin vapaaksi
End SubEi siinä virheitä ollut. Otin sulut msgBoxeista pois koska se ei tunnu näkyvän siinä värityksessä. No ei kyllä näy vieläkään!!!
Eihän sinulla ole mitään controllia formilla, joka estäisi tapahtumat? Oletko kokeillu debugata, meneekö ohjelma koskaan Form1_KeyDowniin ja mitä e sisältä?
Kaanattaisi varmaan käyttää VB-vakioita näppäinten numerokoodien sijaan. Esim. nuoli ylös löytyy näin: Windows.Forms.Keys.Up
AAA, kun se on niin vaikeeta älytä että siihen tule ne Me.Controls.Windows.Forms.Keys.Näppäin . Ite aina kokeilin
If vbKeyNäppäin Then 'jotain End If
.
Mitä varten Me.KeyCode on? Nyt koodisi toimii väärin, jos käyttäjä painaa monta näppäintä samaan aikaan. Sinun pitäisi käyttää KeyUp-tapahtumassakin arvoa e.KeyCode.
Vaikka alkuna olisikin
Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As _ System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown 'ja lopussa End Sub 'ja Private Sub Form1_KeyUp(ByVal sender As System.Object, ByVal e As _ System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp 'ja taas lopussasa End Sub
niin ei se mene niihin vaikka koeajon aikana painelisi mitä näppäintä vaan.
No ne vbKey-vakiot ei myöskään toimi, paitsi ensimmäinen kerta kun niitä kokeilin. Saman koeajon aikana menin uudestaan samaan Button1_Click:kiin ja ei toiminu.
Formilta pitää varmaan laittaa jokin KeyPreview päälle.
Ainiin se KeyPreview! Se pitää vaihtaa True:ksi! Mutta NYT SE MENEE SINNE!!!!!! KIITOS PALJON AVUSTA!!!
ÖÖ... oisko yhtään hajua miten tiedostoja käsitellään .NETillä? Tai ees grafiikan perus jutut? ainaki grafiikasta tiiän että alkuun pitää laittaa
Imports System.Drawning 'tai joku sellane.
http://www.homeandlearn.co.uk/net/vbnet.html
VB.NET tutorials, tai Visual Basic .NET tutorials googleen ja maailma on sinun.
Joo, ei osa toimi. Ei haittaa paljoo.
Onkelma:
'moduulissa on
Public kirjai As String = ""
Public takaakirjain As String = ""
Public edestkirjain As String = ""
Sub kirjain(ByVal texti As String, ByVal monesko As Integer)
On Error Resume Next
If monesko = 0 Then
Return
End If
monesko = monesko - 1
Dim pituus As Integer = Len(texti)
If monesko > pituus Then
Return
End If
Dim vali As String
vali = Right(texti, pituus - monesko)
kirjai = Left(vali, 1)
End Sub
Sub takaakir(ByVal str As String, ByVal tg As Integer)
takaakirjain = Right(str, tg)
End Sub
Sub edestkir(ByVal str As String, ByVal tg As Integer)
edestkirjain = Left(str, tg)
End Sub
'ja formilla
Dim a As Boolean = True
Dim ytsw As Boolean = False
Dim js As Integer = 0
Private Sub Formi1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = True
Label1.Text = ""
End Sub
Private Sub Form_down(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
End
End Sub
Private Sub Timer1_Tick_1000(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim cursor As String = "|"
If js = 0 Then
Label1.Text = "viestin 2 alkukirjainta" & cursor
js = js + 1
Return
End If
If a = True Then
edestkir(Label1.Text, 2)
Label1.Text = edestkirjain
js = js + 1
kirjain("toinen alkukirjain ja viestin loppu", js)
takaakir(Label1.Text, 1)
Label1.Text = takaakirjain
Label1.Text = Label1.Text & kirjai
a = False
Else
Label1.Text = Label1.Text & cursor
a = True
End If
End SubLisäksi formilla on 1 timeri nimeltään "Timer1" ja Label1.
Ei se labellin texti kuitenkaan ihan ole ensin viestin alkukirjain , sen jälkeen edellinen ja "|", sitten alkukirjain ja seuraava kirjain, sitten edellinen ja "|" jne.
Osaisko joku auttaa?
kyllä mä ton keksinki...
Se on helppo!
Option Explicit On
Public Class Formi1
Public Const vb_ICONEXCLAMATION = &H30& ' Huutomerkki-ikoni
Public Const vb_ICONHAND = &H10& ' Rasti-ikoni
'muuttujat osaa ei ees tartte välttis
Dim jusa As Long = 0
Dim jkh As Boolean = False
Dim fhj As Boolean = False
Dim vi As Boolean = False
Dim a As Boolean = True
Dim ytsw As Boolean = False
Dim js As Integer = 0
Dim viesti As String = ""
Dim koli As Boolean = False
Dim holi As Integer = 1
Private maara As Integer = 0
Dim df As Integer
Dim shi As Integer = 0
Private Sub Formi1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
On Error GoTo virhe
viesti = InputBox("Anna lause:", "Anna lause", "Alle 50 merkkiä!", 12, 12)
hj:
maara = InputBox("Anna kokonaisluku:", "Anna määrä", "1", 12, 12)
On Error Resume Next
maara = maara + 1
df = maara
Timer1.Enabled = True
Label1.Text = viesti
Exit Sub
virhe:
MsgBox("Antamasi kokonaisluku " & maara & " ei kelpaa. Anna uudestaan.", vb_ICONHAND, "Ei kelpaa")
GoTo hj
End Sub
Private Sub Lomake_NappiAlas(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If MsgBox("Haluatko varmasti sulkea sovelluksen?", vbYesNo, "Sulje") = vbYes Then
End
Else
Exit Sub
End If
End Sub
Private Sub Form_MouseButtonDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
If MsgBox("Haluatko varmasti sulkea sovelluksen?" & vb_ICONEXCLAMATION, vbYesNo, "Sulje") = vbYes Then
End
Else
Exit Sub
End If
End Sub
Private Sub Timer1_Tick_1000(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim cursor As String = "|"
Dim rivinvaihto As New Label
Dim vali As String
If a = True Then
If vi = True Then
If fhj = True Then
If jusa = 10 Then
End
End If
edestkir(viesti, js)
vali = edestkirjain
Label1.Text = vali
Label1.Text = Label1.Text & kirjai
fhj = False
jusa = jusa + 1
Return
Else
If jusa = 10 Then
End
End If
Label1.Text = Label1.Text & cursor
fhj = True
jusa = jusa + 1
Return
End If
End If
shi = shi + 1
If shi = 50 Then
If Len(viesti) <= 50 Then
shi = 0
Return
End If
rivinvaihto.Text = "Liian pitkä teksti!"
Me.Controls.Add(rivinvaihto)
vi = True
jkh = True
End If
If maara = 0 Then
a = True
ytsw = False
js = 0
viesti = viesti
koli = False
holi = 1
maara = df
End If
If koli = True Then
If holi Mod 2 = 0 Then
Label1.Text = ""
Else
Label1.Text = viesti
End If
holi = holi + 1
maara = maara - 1
Return
End If
If js > Len(viesti) Then
Label1.Text = ""
koli = True
Return
End If
kurspi:
edestkir(viesti, js)
vali = edestkirjain
Label1.Text = vali
Label1.Text = Label1.Text & kirjai
If fhj = True Then
Return
End If
js = js + 1
a = False
Else
kursuri:
Label1.Text = Label1.Text & cursor
a = True
End If
End Sub
End Class
'moduuli
Module Moduuli1
Public kirjai As String = ""
Public takaakirjain As String = ""
Public edestkirjain As String = ""
Sub kirjain(ByVal texti As String, ByVal monesko As Integer)
On Error Resume Next
If monesko = 0 Then
Return
End If
monesko = monesko - 1
Dim pituus As Integer = Len(texti)
If monesko > pituus Then
Return
End If
Dim vali As String
vali = Right(texti, pituus - monesko)
kirjai = Left(vali, 1)
End Sub
Sub takaakir(ByVal str As String, ByVal tg As Integer)
takaakirjain = Right(str, tg)
End Sub
Sub edestkir(ByVal str As String, ByVal tg As Integer)
edestkirjain = Left(str, tg)
End Sub
End ModuleNyt tuli onkelma (taas):
Sulkeeko tuo koodinpätkä "KYLGGER.exe"-nimisen ohjelman? Koodi:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim pList() As Process
Dim myProcess As System.Diagnostics.Process
pList = Process.GetProcesses
For Each myProcess In pList
If myProcess.ProcessName = "KYLGGER.exe" Then
myProcess.Kill()
MsgBox("KYLGGER Closed!")
End
End If
Next
End Sub
End ClassNiin
siis
onko tuo turvallista???
No mikset kokeile?
Olettaisin että toimii mikäli molemmat prosessit on samalla käyttäjällä tai jos tuon tappajaprosessin ajaa pääkäyttäjänä.
Turvallisuudesta on vaikea sanoa, kun ei tiedä mitä tarkoitat turvallisuudella. Sitäkö että prosessi varmasti kuolee? Vai että ei lennä poikkeusta (jolloin ohjelma kaatuisi, koska et käsittele poikkeuksia)? Vai sitä että tapettavan prosessin käsittelemät tiedot eivät vahingoitu tai jää tallentumatta tms? Vai jotain muuta?
Itse asiassa nyt kun asiaa mietin niin ainakaan noiden kolmen keksimäni kysymysten osalta vastaus on: Ei ole turvallista. Tai kolmas on, jos se KYLGGER ei käsittele tietoja.
Ainakaan se ei haittaa jos tiedot menetetään. Prosessin ei ole pakko kuolla, mutta ainakin hyvä se olisi jos se kuolee. Ja siis turvallisuudesta vain että ettei kone kaadu (tuskinpa). Se KYLGGER käsittelee tietoja. Ja sehän voi kaatua...
No kaatuuko kone jos tapat tuon prosessin tehtävienhallinnasta? Eihän tuo sen kummallisempaa ole.
Niin, tuo ohjelmallinen tappaminen on melkein sama. Mutta se pitäisi tappaa ohjelmallisesti ja vaaroja tiellä ei ole, joten se tapetaan niin.
No täältä taas löytyy ongelmia. Miten tiedosto luodaan?? Ja grafiikkaa jotain pitäis tietää ku tekee peliä...
Siis oisko hyvä idea olla alottamatta uutta keskustelua?
Neau33 kirjoitti:
NO MORJENS!
ErroR++ kirjoitti:
No täältä taas löytyy ongelmia. Miten tiedosto luodaan?? Ja grafiikkaa jotain pitäis tietää ku tekee peliä...
Mitenkähän edellinen littyy alkuperäiseen aiheeseen?
Onko kyseessä:
a) ongelmien siirto formilta toiseen?
b) tiedoston siirto formilta toiseen?
c) grafiikan siirto formilta toiseen?
d) tiedon siirto formilta toiseen?
e) pelin teko & siirto formilta toiseen?
vaiko kenties kaikki kohdat (a - e)?
Ei mitkään kohdat noista.
NO MORJENS!
ErroR++ kirjoitti:
No täältä taas löytyy ongelmia. Miten tiedosto luodaan?? Ja grafiikkaa jotain pitäis tietää ku tekee peliä...
Mitenkähän edellinen littyy alkuperäiseen aiheeseen?
Onkohan kyseessä:
a) ongelmien siirto formilta toiseen?
b) tiedoston siirto formilta toiseen?
c) grafiikan siirto formilta toiseen?
d) tiedon siirto formilta toiseen?
e) pelin teko & siirto formilta toiseen?
vaiko kenties kaikki kohdat (a - e)?
Kaikkiin muihin kohtiin paitsi kohtiin b ja e on olemassa varsin yksinkertainen ratkaisu:
(kohdassa b voidaan siirtää vain tiedoston sisältö, kohdassa e onnistuu pelin siirto mutta ei teko)
Oletus: sirretään tietoa lomakkeelta Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As. System. EventArgs) Handles Button1.Click Dim frm As New Form1 frm.ShowDialog() frm.Dispose End Sub
mikä korvais vb.NET:issä vb6:sen DoEvents:in? tartten tähän:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Soitappa()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
soittaja10.play()
End Sub
End Class
Module Module1
Dim soittaja1 = New System.Media.SoundPlayer("C:\windows\Media\chimes.wav")
Dim soittaja2 = New System.Media.SoundPlayer("C:\windows\Media\chimes.wav")
Dim soittaja3 = New System.Media.SoundPlayer("C:\windows\Media\ding.wav")
Dim soittaja4 = New System.Media.SoundPlayer("C:\windows\Media\ringout.wav")
Dim soittaja5 = New System.Media.SoundPlayer("C:\windows\Media\chord.wav")
Dim soittaja6 = New System.Media.SoundPlayer("C:\windows\Media\recycle.wav")
Dim soittaja7 = New System.Media.SoundPlayer("C:\windows\Media\start.wav")
Dim soittaja8 = New System.Media.SoundPlayer("C:\windows\Media\notify.wav")
Dim soittaja9 = New System.Media.SoundPlayer("C:\windows\Media\ringin.wav")
Public soittaja10 = New System.Media.SoundPlayer("C:\windows\Media\tada.wav")
Function Soitappa()
soittaja1.play()
'tähän odotus
soittaja2.play()
'tähän odotus
soittaja3.play()
'tähän odotus
soittaja4.play()
'tähän odotus
soittaja5.play()
'tähän odotus
soittaja6.play()
'tähän odotus
soittaja7.play()
'tähän odotus
soittaja8.play()
'tähän odotus
soittaja9.play()
'tähän odotus
soittaja10.play()
Return Nothing
End Function
End ModuleHV (Hyvää Vappua) ErrorR++
Application.DoEvents()
ja katkaise nyt jumalauta tää viestiketju ja aloita uusi jos sulla ei ole alkuperäiseen aiheeseen littyvää kysyttävää tai lisättävää!
Joo joo!!
Aihe on jo aika vanha, joten et voi enää vastata siihen.