VBiB/ACCB.net - Visual Basic in België | .net Ineta User Group  
Hoofdmenu

Advertenties

Het Computer Winkeltje HCW


Evenementen

Forum

Plaats nieuw bericht   Plaats Reactie
Vorige onderwerp Printervriendelijke versie Log in om je privé berichten te bekijken Volgende onderwerp
Auteur Bericht
appie21Offline
Onderwerp: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 26 jul 2010 - 13:03
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
Hallo

ik heb een vraag.

ik werk veel met adobe after effects.
ik dat programma kan ik scriptas maken

nu heb ik op mijn form een label met een waarde nu wil dat als ik op button1 klik
er een savedialog venster komt dat een bestandje opslaat als *.jsx

met de volgende inhoud
Code:

//start
myComp = app.project.activeItem;
mySolid = myComp.layers.addSolid([0,0,0], "colorCorrect", myComp.width, myComp.height,1);
mySolid.startTime = 0
mySolid.adjustmentLayer = true;
// myEffect = mySolid.property("Effects").addProperty("ADBE Lens Flare");
myEffect = mySolid.property("Effects").addProperty("Fast Blur")("Blurriness").setValue(90);
//end



nu wil ik dat de setValue(90); ingevuld wordt door de waarde die in mijn label staat.
en daarna het bestand wordt opgeslagen
(zodat ik het kan openen en in after effects kan gebruiken!)


Het mag ookz o zijn dat hij het bestandje laad en alleen de regel met de value aanpast!
Ik ben benieuwd naar jullie reacties
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
XymtrixOffline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 26 jul 2010 - 14:35
Professional Developer


Geregistreerd op: 09-okt-2008
Berichten: 467
Woonplaats: Nederland
Status: Offline
Daarvoor heb je het volgende nodig:
- SaveFileDialog
- StreamWriter
- FileStream

Voeg je dat allemaal samen krijg je het volgende:
Visual Basic code:
        Dim Value As Integer = 70 ' = Label1.text
        Dim FileName As String = Nothing
        Dim Savedialog As New SaveFileDialog
        Savedialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
        Savedialog.Filter = "*.jsx|"
        Dim DialogResult As DialogResult = Savedialog.ShowDialog

        If DialogResult = Windows.Forms.DialogResult.OK Or DialogResult = Windows.Forms.DialogResult.Yes Then
            FileName = Savedialog.FileName
            If Not FileName.EndsWith(".jsx") Then
                FileName = FileName & ".jsx"
            End If
            Try
                Dim sr As New IO.StreamWriter(New IO.FileStream(FileName, IO.FileMode.CreateNew, IO.FileAccess.Write, IO.FileShare.Write))

                sr.WriteLine("//start")
                sr.WriteLine("mySolid = myComp.layers.addSolid([0,0,0], ""colorCorrect"", myComp.width, myComp.height,1);")
                sr.WriteLine("mySolid.startTime = 0")
                sr.WriteLine("mySolid.adjustmentLayer = true;")
                sr.WriteLine("// myEffect = mySolid.property(""Effects"").addProperty(""ADBE Lens Flare"");")
                sr.WriteLine("myEffect = mySolid.property(""Effects"").addProperty(""Fast Blur"")(""Blurriness"").setValue(" & Value & ");")
                sr.WriteLine("//end ")

                sr.Flush()
                sr.Close()
            Catch ex As Exception
                MessageBox.Show(ex.ToString, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try

        End If
Mr. Green

_________________
Hippopotomonstrosesquipedaliophobia - fear of long words..
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
appie21Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 26 jul 2010 - 19:23
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
Hoi

ja het werkt!

Alleen krijg ik nog een foutmelding als het bestandje een zelfde naam geeft (dus over wil schrijven)

Wel erg bedankt!!!
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
appie21Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 28 jul 2010 - 22:00
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
kan iemand mij even helpen dit aan te passen
zodat ik ook het bestandje kan vervangen?
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
JarkOffline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 29 jul 2010 - 07:53
Senior Developer


Geregistreerd op: 29-sep-2009
Berichten: 180

Status: Offline
Hallo appie21,

Ik heb twee dingen gewijzigd t.o.v. de vorige code.

1. gebruik altijd het Using statement als je werkt met streams, dit zorgt ervoor dat streams goed worden opgeruimd en hoef je ze zelf niet meer af te sluiten.
2. FileMode.CreateNew moet FileMode.Create worden

Nog wel 1 vraag: vereist het programma nog dat je het bestand in een bepaalde encoding weg moet schrijven (ansi/utf8/utf16)?

Visual Basic code:

Dim Value As Integer = 70 ' = Label1.text
        Dim FileName As String = Nothing
        Dim Savedialog As New SaveFileDialog
        Savedialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
        Savedialog.Filter = "*.jsx|"
        Dim DialogResult As DialogResult = Savedialog.ShowDialog

        If DialogResult = Windows.Forms.DialogResult.OK Or DialogResult = Windows.Forms.DialogResult.Yes Then
            FileName = Savedialog.FileName
            If Not FileName.EndsWith(".jsx") Then
                FileName = FileName & ".jsx"
            End If
            Try
                Using fileStream As New IO.FileStream(FileName, IO.FileMode.Create, IO.FileAccess.Write, IO.FileShare.Write)
                    Using sr As New IO.StreamWriter(fileStream)
                        sr.WriteLine("//start")
                        sr.WriteLine("mySolid = myComp.layers.addSolid([0,0,0], ""colorCorrect"", myComp.width, myComp.height,1);")
                        sr.WriteLine("mySolid.startTime = 0")
                        sr.WriteLine("mySolid.adjustmentLayer = true;")
                        sr.WriteLine("// myEffect = mySolid.property(""Effects"").addProperty(""ADBE Lens Flare"");")
                        sr.WriteLine("myEffect = mySolid.property(""Effects"").addProperty(""Fast Blur"")(""Blurriness"").setValue(" & Value & ");")
                        sr.WriteLine("//end ")
                    End Using
                End Using
            Catch ex As Exception
                MessageBox.Show(ex.ToString, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End If


Mvg,

Jark
 
 Bekijk gebruikers profiel Stuur privé bericht Bekijk de homepage  
Reageer met quote Naar boven
appie21Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 11 aug 2010 - 15:26
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
Het is volgens mij utf8 code
Je hebt mij erg geholpen ben er zeer dankbaar voor!

ik heb een aanvulliende vraag

ik wil de status (visible true of false) van een picturebox toevoegen aan de code

ik wil dat in dit zinnetje mySolid.adjustmentLayer = true;
de status van de picturebox wordt weg geschreven.

(ik ben al wel zover dat ik het in een message box krijg Wink haha maar nu dus wil ik het in de code zelf krijgen.. hoe nu verder



Code:
 Dim Value As Integer
        Dim value2 As Integer = PictureBox1.Visible

        If value2 = True Then
            MsgBox("on")
        Else
            MsgBox("off")
        End If

        Dim FileName As String = Nothing
        Dim Savedialog As New SaveFileDialog
        Savedialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
        Savedialog.Filter = "*.jsx|"
        Dim DialogResult As DialogResult = Savedialog.ShowDialog

        If DialogResult = Windows.Forms.DialogResult.OK Or DialogResult = Windows.Forms.DialogResult.Yes Then
            FileName = Savedialog.FileName
            If Not FileName.EndsWith(".jsx") Then
                FileName = FileName & ".jsx"
            End If
            Try
                Using fileStream As New IO.FileStream(FileName, IO.FileMode.Create, IO.FileAccess.Write, IO.FileShare.Write)
                    Using sr As New IO.StreamWriter(fileStream)
                     


                        sr.WriteLine("   var my_file = new File(""D:\adobe programeer werk\eten.aep"");   ")
                        sr.WriteLine("   new_project = app.open(my_file);myComp = app.project.activeItem;   ")
                        sr.WriteLine("   var myLayer = myComp.layer(""1.psd"");   ")
                        sr.WriteLine("   var myLayer1 = myComp.layer(""2.psd"");   ")
                        sr.WriteLine("   var myEffect = myLayer.property(""Effects"").addProperty(""Fast Blur"");   ")
                        sr.WriteLine("   var myEffect1 = myLayer1.property(""Effects"").addProperty(""Fast Blur"");   ")
                        sr.WriteLine("   myEffect.property(""Blurriness"").setValue(100);   ")
                        sr.WriteLine("   mySolid.adjustmentLayer = true;   ")



                    End Using
                End Using
            Catch ex As Exception
                MessageBox.Show(ex.ToString, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End If
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
appie21Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 12 aug 2010 - 21:35
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
Hallo na een avondje lekker prutsen ben ik weer een stapje verder

Nu heb ik een vraag ik heb een aantal pictureboxen (10) die ik kan in stellen op visible true of picturebox false

nu wil ik die waarde weg schrijven en dat doe ik met de code die hier onder staat (dat lukt al aardig

nu wil ik dat de visible waarde van picturebox1 wordt weg geschreven naar het zinnettje in de file
dus naar sr.WriteLine(" myLayer1.enabled = " & Value & ";")

en de waarde van picturebox2 naar
sr.WriteLine("myLayer2.enabled = " & Value & ";")

Hebben jullie tips om dit eenvoudig en makkelijk in mijn code in te voeren?


hier de code



Code:
 Dim Value As String = 0 Or 1
        Dim value1 As Integer = PictureBox1.Visible
       
        If value1 = 0 Then

            Value = "false"
        Else
            Value = "true"
        End If


        Dim FileName As String = Nothing
        Dim Savedialog As New SaveFileDialog
        Savedialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
        Savedialog.Filter = "*.jsx|"
        Dim DialogResult As DialogResult = Savedialog.ShowDialog

        If DialogResult = Windows.Forms.DialogResult.OK Or DialogResult = Windows.Forms.DialogResult.Yes Then
            FileName = Savedialog.FileName
            If Not FileName.EndsWith(".jsx") Then
                FileName = FileName & ".jsx"
            End If
            Try
                Using fileStream As New IO.FileStream(FileName, IO.FileMode.Create, IO.FileAccess.Write, IO.FileShare.Write)
                    Using sr As New IO.StreamWriter(fileStream)




                        sr.WriteLine("   var my_file = new File(""d:/3.aep"");   ")
                        sr.WriteLine("    new_project = app.open(my_file);myComp = app.project.activeItem;   ")
                        sr.WriteLine("   var myLayer1 = myComp.layer(""1.psd"");   ")
                        sr.WriteLine("   var myLayer2 = myComp.layer(""2.psd"");   ")
                        sr.WriteLine("   var myLayer3 = myComp.layer(""3.psd"");   ")
                        ' sr.WriteLine("   var myEffect = myLayer1.property(""Effects"").addProperty(""Fast Blur"");   ")
                        ' sr.WriteLine("   var myEffect1 = myLayer2.property(""Effects"").addProperty(""Fast Blur"");   ")

                        'sr.WriteLine("   //myEffect.property(""Blurriness"").setValue(100);   ")
                        'sr.WriteLine("   // myEffect1.property(""Blurriness"").setValue(100);   ")
                        ' sr.WriteLine("   myLayer1.enabled = " & Value & ";")'hier de visible waarde van picturebox1

                        sr.WriteLine("   myLayer2.enabled = " & Value & ";") 'hier de visible waarde van picturebox2

 sr.WriteLine("myLayer.enabled = " & Value & ";") 'hier de visible waarde van picturebox3 enz enz




                    End Using
                End Using
            Catch ex As Exception
                MessageBox.Show(ex.ToString, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End If


Ik hoor graag van jullie adviezen!

Alvast bedankt
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
chrissie1Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 13 aug 2010 - 08:03
Senior Developer


Geregistreerd op: 09-mei-2010
Berichten: 188

Status: Offline
Ik zou een methode getVisible creeren.

Visual Basic code:
Public Function getVisible(Byval picbox as PictureBox) as string
  return picbox.Visible.ToString.ToLower
End Function


En dit

Visual Basic code:
"   myLayer2.enabled = " & Value & ";"


kan je gemakkelijk vervangen door.

Visual Basic code:
"   myLayer2.enabled = " & getVisible(PictureBox2) & ";"


Om er dan voor te zorgen dat je geen 10 lijnen meer moet schrijven zal je nog iets verder moeten gaan.

Visual Basic code:
For i as Integer = 1 to 9
  sr.WriteLine("   myLayer" & i.ToString & ".enabled = " & getVisible(CType(Me.Controls("PictureBox" & i.ToString, PictureBox)) & ";")
Next


En dat zou het zo ongeveer moeten zijn.

BTW vrij zeker dat de savedialog dit voor je zal doen.

Visual Basic code:
If Not FileName.EndsWith(".jsx") Then
                FileName = FileName & ".jsx"
            End If


En één grote try catch rond dat gebeuren is niet echt nodig.

_________________
Blog
Twitter
 
 Bekijk gebruikers profiel Stuur privé bericht Verstuur mail Bekijk de homepage  
Reageer met quote Naar boven
appie21Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 13 aug 2010 - 08:38
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
het werkt al


Laatst aangepast door appie21 op 13 aug 2010 - 09:17, in totaal 1 keer bewerkt
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
chrissie1Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 13 aug 2010 - 09:10
Senior Developer


Geregistreerd op: 09-mei-2010
Berichten: 188

Status: Offline
Ja dat had ik gemerkt. Daar dient dan ook de ToLower voor.

_________________
Blog
Twitter
 
 Bekijk gebruikers profiel Stuur privé bericht Verstuur mail Bekijk de homepage  
Reageer met quote Naar boven
appie21Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 13 aug 2010 - 09:22
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
Erg erg erg bedankt!

alleen deze werkt nog niet
Code:
For i as Integer = 1 to 9
  sr.WriteLine("   myLayer" & i.ToString & ".enabled = " & getVisible(CType(Me.Controls("PictureBox" & i.ToString, PictureBox)) & ";")
Next


ik krijg
Error 1 'PictureBox' is a type and cannot be used as an expression. C:\Users\Albert\Documents\Visual Studio 2010\Projects\on off\on off\Form1.vb 58 116 on off


en even over de savedialog hnhij werkt wel alleen als ik dezelfde bestandsnaam in geef dan overwrite hij hem zonder te vragen. geef ik bijvoorbeeld test.jsx intuyp dan vraagt hij wel wilt u het bestaande bestand vervangen
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
chrissie1Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 13 aug 2010 - 09:31
Senior Developer


Geregistreerd op: 09-mei-2010
Berichten: 188

Status: Offline
Visual Basic code:
CType(Me.Controls("PictureBox" & i.ToString, PictureBox)


moet dit zijn

Visual Basic code:
CType(Me.Controls("PictureBox" & i.ToString), PictureBox)

_________________
Blog
Twitter
 
 Bekijk gebruikers profiel Stuur privé bericht Verstuur mail Bekijk de homepage  
Reageer met quote Naar boven
appie21Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 13 aug 2010 - 13:16
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
Het werkt erg erg bedankt nu kan ik weer verder!
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
appie21Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 18 aug 2010 - 15:20
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
ik heb nog een aanvullende vraag!

ik moet het volgende zinnetje in visual vasic hebben

var myLayer3= myComp.layer("3")
ik gebruik daar deze code voor

Code:

sr.WriteLine("  var myLayer" & i.ToString & "= myComp.layer(" & i.ToString & ") ")

wat er dan weg geschreven wordt is

var myLayer3= myComp.layer(3)
zonder de aanhalings tekens hoe moet het zinnetje zijn met aanhalingstekens?
(ben al een poosje aan het prutsen er mee kom er niet uit! ;( )


Heb nu dit

sr.WriteLine(" var myLayer" & i.ToString & """= myComp.layer(""" & i.ToString & """)")


alleen staat er nog een "achter layer krijg hem niet weg
ben benieuwd!

Edit:

Dit is hem !
sr.WriteLine(" var myLayer" & i.ToString & "= myComp.layer(""" & i.ToString & """) ")
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
appie21Offline
Onderwerp: Re: Tekst uit een label in voegen in een bestand  BerichtGeplaatst: 18 aug 2010 - 17:08
Junior Developer


Geregistreerd op: 08-apr-2010
Berichten: 53

Status: Offline
chrissie1 schreef:


Visual Basic code:
For i as Integer = 1 to 9
  sr.WriteLine("   myLayer" & i.ToString & ".enabled = " & getVisible(CType(Me.Controls("PictureBox" & i.ToString, PictureBox)) & ";")
Next



nog een vraag hier over hoop dat je me even verder kunt helpen

Mijn pictureboxen staan op een ander form (form2)
Hoe kan ik daar de gegevens van ontvangen? (of ze visible zijn of niet)

zelf had ik bedacht

Code:
 For i1 As Integer = 3 To 31
                            sr.WriteLine("   myLayer" & i1.ToString & ".enabled = " & getVisible(CType(Me.Controls("form2.PictureBox" & i1.ToString), PictureBox)) & ";")
                        Next


Maar dat werkt niet!

Help !
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
Berichten van afgelopen:     
Ga naar:  
Tijden zijn in GMT + 1 uur
Plaats nieuw bericht   Plaats Reactie
Vorige onderwerp Printervriendelijke versie Log in om je privé berichten te bekijken Volgende onderwerp
PNphpBB2 © 2003-2007 
 

 
Postnuke - ADODB Database - PHP 4/5 - pnPhpBB2 - Hosting bij Openminds
Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno 21-12-2000)
vbib.be gestart op 1/03/06 (extra vanaf 1/09: vbnet.be en vbdotnet.be)
VBiB is gerelateerd met wintips.be

Nieuwsbrief RSS Feed: backend.php