[VB.NET] multi-line commands vb 2008/10

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • kaas3000
  • Registratie: December 2010
  • Laatst online: 02-10-2022
beste iedereen,

dit is misschien een beetje een stomme vraag, maar ik weet niet hoe ik moet googlen, dus vraag ik het maar op een forum.
ik probeer een programma te schrijven, dat uit meerdere tekstbestandjes, 1 powerpoint presentatie maakt (1 txt-bestand per dia).
dit doe ik door de gebruiker een tekst in het tekstvak te laten invoeren. (bijv. psalm 47: 1,2)
weet iemand hier een code voor, ik krijg het al voor elkaar om een tekst in een powerpoint te krijgen als bijv. 'tekstvak.txt'
ik post mijn code ook wel.
edit:
wat ik dus al wel voor elkaar krijg is om een tekstbestandje erin te krijgen, maar mijn vraag is om de notatie: psalm 47:1,2 te kunnen lezen, en dat multiline krijgen.


waarom: bij ons in de kerk (de kerk ja) gebruiken wij sinds kort beamers, en wij moeten om de te beamen presentaties (de psalmen) te maken alles uit tekstbestandjes halen, het is veel handiger om een programma te schrijven, dacht ik, dus ben ik bezig.
ik ben wel een noob!

[ Voor 10% gewijzigd door kaas3000 op 12-01-2011 22:33 ]


Acties:
  • 0 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 11:20

MAX3400

XBL: OctagonQontrol

Google? "vbs import text files in powerpoint sheets"

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Je werkt toch niet in PHP? Dat heeft vast wel een functie getPsalm(). Voor VB.NET zul je dit zelf moeten schrijven. Maak een functie die een tekstbestand kan lezen en plak die tekst in je dia.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • kaas3000
  • Registratie: December 2010
  • Laatst online: 02-10-2022
code:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Imports Microsoft.Office.Interop

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        Dim oApp As PowerPoint.Application
        Dim oPres As PowerPoint.Presentation
        Dim oSlide As PowerPoint.Slide
        Dim oRead As System.IO.StreamReader
        Dim EntireFile As String
        Const sTemplate = "\theme.thmx"

        oRead = IO.File.OpenText("C:\Users\kaas\Documents\" & TextBox3.Text & ".txt")
        EntireFile = oRead.ReadToEnd()

        'Start PowerPoint en zorg dat het venster zichtbaar, maar geminimaliseerd is.
        oApp = New PowerPoint.Application()
        oApp.Visible = True
        oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized

        oPres = oApp.Presentations.Open(sTemplate, , , True)

        ' voeg dia toe.
        oSlide = oPres.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutText)
        REM tekstvak vullen
        With oSlide.Shapes.Item(2).TextFrame.TextRange
            .Text = EntireFile
            .Font.Name = "Arial"
            .Font.Size = 48
        End With

        'titelvak vullen
        oRead = IO.File.OpenText("C:\Users\kaas\Documents\" & TextBox3.Text & "1.txt")
        EntireFile = oRead.ReadToEnd()

        With oSlide.Shapes.Item(1).TextFrame.TextRange
            .Text = EntireFile
            .Font.Name = "Arial"
            .Font.Size = 56
        End With

        oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        'aantal regels bepalen
        Dim intAantal As Integer
        Dim strAantal() As String
        strAantal = Split(TextBox3.Text, Environment.NewLine)
        intAantal = UBound(strAantal) + 1

        'lied bepalen
        Dim intLied As Integer
        Dim strLied() As String
        strLied = Split(TextBox3.Text, ":")
        intLied = UBound(strLied) + 1

        For i = 1 To intAantal

        Next

    End Sub
End Class

[ Voor 0% gewijzigd door Woy op 13-01-2011 10:06 ]


Acties:
  • 0 Henk 'm!

  • YakuzA
  • Registratie: Maart 2001
  • Niet online

YakuzA

Wat denk je nou zelluf hey :X

Bij wat je wil doen komen een aantal problemen al snel om de hoek krijgen:
- checken van de invoertekst >> je kan beter de gebruiken via een browse het bestand laten selecteren
- zoals je het nu opzet kun je maar 1 lied in 1 ppt zetten
- wat als 1 lied niet op 1 dia past?

Iets simpelers zou een vba macro zijn die een tekstbestand op de huidige pagina insert.

Death smiles at us all, all a man can do is smile back.
PSN


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Wat wil er precies niet lukken? We verwachten hier iets meer inzet van een TS, dan dat hij zegt dat het niet lukt, en of iemand even de code voor hem heeft. Ook het posten van je volledige code is niet nodig, we verwachten alleen relevante stukjes code om je probleem te illustreren ( En als je code post, gebruik dan de [code] tags ).

Dus begin eens met rustig uitleggen wat je al geprobeerd hebt, en wat er niet mee wil lukken. Als ik zo snel door je code kijk zie ik dat je al door hebt hoe je een text bestand moet openen en hoe je interactie met powerpoint kunt hebben, dus je bent al een eind op weg.

[ Voor 7% gewijzigd door Woy op 13-01-2011 09:09 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • jip_86
  • Registratie: Juli 2004
  • Nu online
Ik vraag me af wat je bedoelt met: 'maar mijn vraag is om de notatie: psalm 47:1,2 te kunnen lezen, en dat multiline krijgen.'
Is het zo dat de hele psalm, inclusief de verzen die je niet nodig hebt, op een regel in een tekstbestand staat?

Acties:
  • 0 Henk 'm!

  • kaas3000
  • Registratie: December 2010
  • Laatst online: 02-10-2022
het enige probleem is, dat ik totaal geen houvast heb om die notatie uit te kunnen lezen in een tekstvak.
ik heb dat vak al in een array gezet, en gesplitst bij een nieuwe regel.
verder ben ik nog niet, maar ik weet niet waarnaar ik moet googlen, als ik bijv. zoek op tabel uit tekstvak halen, krijg ik databases (mysql).

Acties:
  • 0 Henk 'm!

  • kaas3000
  • Registratie: December 2010
  • Laatst online: 02-10-2022
jip_86 schreef op donderdag 13 januari 2011 @ 09:40:
Ik vraag me af wat je bedoelt met: 'maar mijn vraag is om de notatie: psalm 47:1,2 te kunnen lezen, en dat multiline krijgen.'
Is het zo dat de hele psalm, inclusief de verzen die je niet nodig hebt, op een regel in een tekstbestand staat?
daar ben ik nog niet uit wat het slimst is, nu heb ik alle verzen in 1 bestandje, maar het lijkt mij makkelijker uitlezen als ik elk vers in 1 bestandje zet.
multiline bedoel ik, om tegelijkertijd dat regel voor regel te kunnen doen, dan hoeft de gebruiker alleen maar de liturgie (psalmen en gezangen) erin te plakken, en hij heeft zijn powerpoint.

[ Voor 15% gewijzigd door kaas3000 op 13-01-2011 09:51 ]


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je probleem is dus dat je niet weet hoe je de versen moet splitsen?

Je zult een of andere data structuur moeten maken, waar je makkelijk versen op kunt zoeken.

Een mogelijkheid is inderdaad om alle verzen in losse bestanden te zetten, en dan aan de hand van de naam van het text bestand te zoeken/openen. Je zou er ook voor kunnen kiezen om een xml bestand te maken waar alle verzen in zitten. Je kan dan denken aan een formaat die op het volgende lijkt ( Ik weet niet hoe de nummering werkt, dus misschien zou je die beter op een andere manier op kunnen slaan )
XML:
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<psalmen>
    <psalm id="47:1,2">
        TEKST
    </psalm>
    <psalm id="48:5,3">
    </psalm>
</psalmen>

Eventueel kun je hier natuurlijk nog meer informatie in stoppen zoals keywords, of andere meta data die er bij een Psalm zijn. Door middel van XPATH kan je dan makkelijk in je xml zoeken.

[ Voor 6% gewijzigd door Woy op 13-01-2011 10:24 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • kaas3000
  • Registratie: December 2010
  • Laatst online: 02-10-2022
dus moet ik elke mogelijke combinatie in een eigen tekstbestand zetten?
hoe weet hij dan of het een psalm is of een gezang?
in ieder geval, bedankt alvast!

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
kaas3000 schreef op donderdag 13 januari 2011 @ 10:35:
hoe weet hij dan of het een psalm is of een gezang?
Door elke node van een type attribuut te voorzien met psalm/zang/boodschappenlijst/cd/whatever :? Of door de nodes zelf slim in te delen :?
XML:
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<mydata>
    <psalm id="47:1,2">
        TEKST
    </psalm>
    <gezang id="hupseflups">
        TEKST
    </gezang>
</mydata>


XML:
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<mydata>
    <mynode type="psalm" id="47:1,2">
        TEKST
    </mynode>
    <mynode type="gezang" id="hupseflups">
        TEKST
    </mynode>
</mydata>


Misschien is het handiger als je je even verdiept in wat basics om zo wat ervaring op te doen en dan nog
eens een poging aan dit project te wagen. Niet vervelend bedoeld, maar ik mis hier behoorlijk wat basiskennis en dat is toch wel min-of-meer een vereiste hier in PRG.

[ Voor 34% gewijzigd door RobIII op 13-01-2011 10:42 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • kaas3000
  • Registratie: December 2010
  • Laatst online: 02-10-2022
ik denk dat jij wel gelijk hebt, het draadje kan wat mij betreft op slot.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Een slotje is niet nodig op een topic als je je oplossing (of juiste richting of...) hebt. Zie daarvoor ook onze faq betreffende topiceinde.

[ Voor 6% gewijzigd door RobIII op 13-01-2011 12:51 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1