Laden...

Forenbeiträge von hrmc Ingesamt 15 Beiträge

29.11.2010 - 10:30 Uhr

Ich erwarte auch keine 100% Sicherheit. Die Hemmschwelle das Programm einfach weiterzugeben soll einfach gehoben werden. Wenn wir 30% davon abhalten können ist das in Ordnung.

Ich bin kein C# Profi, hab nur kleine Anwendungen geschrieben. ISt das kompliziert die Ressourcen verschlüsselt einzubinden?

/e:

FUnktioniert das überhaupt wie ich es mir vorstelle?

Flashprogramm:

player.swf
data/1.jpg
data/1.xml

etc.

Das C# Programm dient als Player:

start_Flash.exe
ressource1.dat (hier ist das komplette Flashprogramm integriert)

29.11.2010 - 09:15 Uhr

Hallo,

ich hab folgendes Problem: Wir haben eine Flash-Anwendung entwickeln lassen. Dieser greift von einer SWF auf Inhalte wie XML, JPEG oder andere SWFs zu. Die Struktur liegt offen da, jeder könnte also sich die SWFs oder JPEGs einzeln anschauen.

Nun möchten wir die Software per Dongle Schützen: Gibt es eine Möglichkeit das komplette Programm, inklusive aller Einzeldateien wie JPEG,SWF,XML in eine C# Anwendung zu packen? Anschließend würde ich den Code für die Dongle-Aktivierung in die Applikation integrieren.

20.07.2010 - 12:49 Uhr

Danke an alle. Hat geklappt!

20.07.2010 - 12:24 Uhr

OK, die erste 0 kann ich ja noch hinzufügen, aber wie die zweite? Muss ich das Ding an der Stelle 3 Splitten und dann wieder joinen?

20.07.2010 - 12:13 Uhr

Hi, also ich habs hinbekommen mit der XML-Methode, ich wüsste nicht genau wie ich mit den Regularexpressions an die Absätze rankommen könnte.

So habe ich es gelöst:



     tr = File.OpenText(path);


               // setup SgmlReader
               Sgml.SgmlReader sgmlReader = new Sgml.SgmlReader();
               sgmlReader.DocType = "HTML";
               sgmlReader.WhitespaceHandling = WhitespaceHandling.All;
               sgmlReader.CaseFolding = Sgml.CaseFolding.ToLower;
               sgmlReader.InputStream = tr;

               // create document
               XmlDocument doc = new XmlDocument();
               doc.PreserveWhitespace = true;
               doc.XmlResolver = null;
               doc.Load(sgmlReader);
               mp3NodeList = doc.DocumentElement.SelectNodes("//body/p/b");
               textNodeList = doc.DocumentElement.SelectNodes("//body/table[@width='100%']");
             
               
                try
               {
                   for (int i = 0; i < mp3NodeList.Count - 1; i++)
                   {
                       
                      saveToTextFile(mp3NodeList.Item(i).NextSibling.InnerText, textNodeList.Item(i).InnerText);


                   }
               }
               catch
                { 
               
               }


Jetzt habe ich noch ein klitzekleines Problem. Die Dateinamen des HTML-Dokuments sehen folgendermaßen aus:

3_1_d0c5722c-b6e4-4398-9424-56935a4072e7.mp3

Leider hat sich da ein Fehler eingeschlichen: Es müsste so aussehen:

03_01_d0c5722c-b6e4-4398-9424-56935a4072e7.mp3

GIbt es da eine addChar("0",position(0)) Methode oder sowas?

20.07.2010 - 10:48 Uhr

Hi,
also ich hab jetzt mit Hilfe von folgenden Befehlen die richten Felder ausführen können


 lblStatus.Text = doc.DocumentElement.SelectSingleNode("//body/p/b").NextSibling.InnerText;

tBFilesConverted.Text = doc.DocumentElement.SelectSingleNode("//body/table[@width='100%']").InnerText;
                

Jetzt meine Frage: ICh möchte nun das ganze für alle Knoten machen, und diese dann am besten in einem assoziativen Array speichern. Also der erste Mp3-Knoten soll als Nummer 0 ins Array und passend dazu die erste table mit 100% widht als Nummer 0.

/E: Ich versuch das jetzt mal über die XMLNodelist und dann mit dem Item-Zugriff per Index. Sollte ja funktionieren 😃 Ich werde berichten

19.07.2010 - 16:38 Uhr

sorry!

19.07.2010 - 13:24 Uhr

Danke für die Idee.Die HTML-Datei startet so


<html><head><title>Speaker text export</title><style>p, body { font-family: Arial } ul { margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px }</style></head><body>
<p>&nbsp;</p>
<h3 align="center"

is also anscheinend nicht XML-Konform. Kann ich sie trotzdem wie eine ganz normale XML-File laden?

19.07.2010 - 12:46 Uhr

Steh da grad echt aufm Schlauch, ist das überhaupt möglich dem zu sagen:

Lauf zeilenweise bis zum ersten auftauchen von "MP3". Dann speichere den Text hinter MP3: in eine Variable und passend dazu den nachfolgenden Text bis zum nächsten MP3.
Besser wäre warscheinlich ein Array

/E: Also ich habs jetzt soweit, dass ich alle mp3-Filenames in einem Array gespeichert habe. Die Anzahl der mp3-Filenamen ist equivalient zu den beschreibungen

19.07.2010 - 11:00 Uhr

Hi miteinander,
ich steh hier vor einer Hürde: Ich hab eine HTML Datei die von einem Programm erstellt wurde. Es handelt sich um eine Auflistung von Sprechertexten mit MP3-Dateinamen und Text.

Leider ist diese nicht wirklich strukturiert, sehet selbst:


<p><u>2.1: Gesetzliche Bestimmungen</u></p>
<p><b>MP3: </b><span style='font-family: Courier'>2_1_7f53f963-9c6f-4704-b332-81c58c5618d4.mp3</span></p>
<table xmlns:linkres="http://xml.apache.org/***" width="100%">
<colgroup>
<col width="70%">
<col width="30%">
</colgroup>
<tr>
<td>TEXT</td><td></td>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td>TEXT</td><td></td>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td>TEXT</td><td></td>
</tr>
<tr>
<td>TEXT</td><td></td>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td>3. TEXT </td><td></td>
</tr>
</table>
<p>&nbsp;</p>
<p><u>2.2: Gesetzliche Bestimmungen</u></p>
<p><b>MP3: </b><span style='font-family: Courier'>2_2_f0457f3a-af43-483b-b76d-681677f9a99a.mp3</span></p>
<table xmlns:linkres="http://xml.apache.org/***er" width="100%">
<colgroup>
<col width="70%">
<col width="30%">
</colgroup>
<tr>
<td>TEXT</td><td></td>
</tr>
<tr>
<td>TEXT</td><td></td>
</tr>
<tr>
<td>TEXT</td><td></td>
</tr>
<tr>
<td>Die<b> EU-Richtlinien</b> </td><td></td>
</tr>
</table>
<p>&nbsp;</p>

Im Reintext sieht das so aus:


1.1: Intro

MP3: 1_1_45eef601-050b-4199-a387-f57e8f0ac473.mp3
TEXT

2.1: Gesetzliche Bestimmungen

MP3: 2_1_7f53f963-9c6f-4704-b332-81c58c5618d4.mp3

TEXT

Ich muss irgendwie an den MP3-Namen rankommen und darauf folgenden Text. Falls das nicht klappt müssen wir wohl nen ChangeRequest an die Entwickler schicken

Vielen Dank schonmal!

19.07.2010 - 09:36 Uhr

//nichts 😉

16.07.2010 - 15:03 Uhr

Vielen Dank!

16.07.2010 - 14:46 Uhr

Ich war nicht der Kerl dem du ein Beispielprogramm geschickt hast. Aber interessant zu sehen, dass sich ein paar meiner Mitstudenten zu helfen wussten 😉

16.07.2010 - 14:45 Uhr

verwendetes Datenbanksystem: XML

Hallo miteinander,

ich habe hier eine XML-Datei komme aber nicht an den gesuchten Knoten ran.

Ich habs so versucht:

 mattext = xmlDoc.DocumentElement.SelectSingleNode("item/material/mattext").InnerText;                    
 Console.WriteLine("XML TYPE = QTI ====" + xmlDoc.DocumentElement.Name);

Aber auch schon mit item/presentation/material/mattext

Ich will an diesen ersten mattext mit dem CDATA Tag rankommen

Vielen Dank!

XML-Code


<?xml version="1.0" encoding="UTF-8"?>
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2">
  <item label="101" ident="1_5_a565b8da-a305-463f-92d2-7d7be201bd24" maxattempts="3" title="Choice page">
    <presentation label="Choice-Question">
      <material>
        <mattext><![CDATA[Which of these countries border Germany?<br>]]></mattext>
        <mataudio uri="1_5_a565b8da-a305-463f-92d2-7d7be201bd24_01.mp3"/>
      </material>
      <response_lid ident="a565b8da-a305-463f-92d2-7d7be201bd24" rtiming="No" rcardinality="Multiple">
        <render_choice shuffle="No">
          <response_label ident="#1">
            <material>
              <mattext>France</mattext>
            </material>
          </response_label>
          <response_label ident="#2">
            <material>
              <mattext>Denmark</mattext>
            </material>
          </response_label>
          <response_label ident="#3">
            <material>
              <mattext>Poland</mattext>
            </material>
          </response_label>
          <response_label ident="#4">
            <material>
              <mattext>Czech Republic</mattext>
            </material>
          </response_label>
          <response_label ident="#5">
            <material>
              <mattext>Austria</mattext>
            </material>
          </response_label>
          <response_label ident="#6">
            <material>
              <mattext>Switzerland</mattext>
            </material>
          </response_label>
          <response_label ident="#7">
            <material>
              <mattext>Luxembourg</mattext>
            </material>
          </response_label>
          <response_label ident="#8">
            <material>
              <mattext>Greece</mattext>
            </material>
          </response_label>
        </render_choice>
      </response_lid>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar/>
      </outcomes>
      <respcondition title="correct">
        <conditionvar>
          <and>
            <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#1</varequal>
            <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#2</varequal>
            <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#3</varequal>
            <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#4</varequal>
            <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#5</varequal>
            <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#6</varequal>
            <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#7</varequal>
          </and>
        </conditionvar>
        <setvar varname="Score" action="Set">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="correct"/>
      </respcondition>
      <respcondition title="Teilweise">
        <conditionvar>
          <and>
            <or>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#1</varequal>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#2</varequal>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#3</varequal>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#4</varequal>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#5</varequal>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#6</varequal>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#7</varequal>
            </or>
            <not>
              <and>
                <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#1</varequal>
                <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#2</varequal>
                <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#3</varequal>
                <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#4</varequal>
                <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#5</varequal>
                <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#6</varequal>
                <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#7</varequal>
                <not>
                  <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#8</varequal>
                </not>
              </and>
            </not>
          </and>
        </conditionvar>
        <displayfeedback feedbacktype="Response" linkrefid="teilweise"/>
      </respcondition>
      <respcondition title="wrong">
        <conditionvar>
          <and>
            <not>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#1</varequal>
            </not>
            <not>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#2</varequal>
            </not>
            <not>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#3</varequal>
            </not>
            <not>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#4</varequal>
            </not>
            <not>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#5</varequal>
            </not>
            <not>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#6</varequal>
            </not>
            <not>
              <varequal respident="a565b8da-a305-463f-92d2-7d7be201bd24">#7</varequal>
            </not>
          </and>
        </conditionvar>
        <displayfeedback feedbacktype="Response" linkrefid="wrong"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="correct" view="Candidate">
      <material>
        <mattext>Correct!</mattext>
      </material>
    </itemfeedback>
    <itemfeedback ident="teilweise" view="Candidate">
      <material>
        <mattext>Wrong!</mattext>
      </material>
    </itemfeedback>
    <itemfeedback ident="wrong" view="Candidate">
      <material>
        <mattext>Wrong!</mattext>
      </material>
    </itemfeedback>
  </item>
</questestinterop>

03.06.2010 - 14:44 Uhr

Hallo,
ich bin ein C# Neuling und steh vor einer für mich schweren Aufgabe:

Ich muss einen kleinen Bildeditor bauen. Mir fehlt es aber am Grundverständnis.

Es gibt eine Zeichenfläche in der ein Rechteck, eine Ellipse, Ein Text und ein Bild(per OpenFileDialog) reingeladen werden kann. Man kann mit der linken Maustaste das Element verschieben, mit der Rechten die Größe festlegen.

Dabei blinkt die Umrandung des eingefügten Elements. Man kann es so lange bearbeiten bis man Hinzufügen drückt. Dann ist das Element fixiert.

Man kann das gesamte Bild als BMP speichern.

Ich versteh nicht wie dieses temporäre Zeichnen realisiert wird.

Ich hab so angefangen:

NumericUpDowns für X,Y, Width, Height, eine ListBox für die Elementauswahl, dann ein ColoFontDialog, FontDialog, Txtinputfeld und als Zeichenfläche eine PictureBox(Richtig?)