-
@sast,ich habe das Programm gerade mal ausprobiert, es funktioniert super! Falls du das selbst geproggt hast: Großes lob soweit bin ich noch lange nicht :D
Ist es dir vielleicht möglich noch einen Menüpunkt einzubauen (unter "Sprache") der die Bascom-Datazeilen mit Dezimalzahlen ausgibt? Hexadezimal ist zwar schön aber öhm nun ja nicht so gut zu lesen.
Ich habe als Quelldatei ein Wave von 3 sec. Länge mit Adobe Audition (Goldwave kann keine unsigned erzeugen!) als Textdatei konvertiert, und damit dein Programm gefüttert. Dann Copy&Paste aus dem Angezeigten Fenster in Bascom rüber und gut war. :) Vielleicht bekomme ich den Sound heute noch zum laufen um zu probieren wie sich das anhört...
Rolle77 :))
-
Hab eigentlich noch etwas am Programm gemacht. Gibt morgen sicher noch mal ein Update. Z.B werden dann 16 Werte auf eine Zeile geschrieben. Das ist sonst bei längeren Dateien in der Länge zu viel. Zum Überprüfen, ob das Programm richtig funktioniert kann man die RAW Ansicht nehmen. Die lässt sich dann am einfachsten mit den tatsächlichen Daten der Datei vergleichen.
Ja das Programm ist selbst geschrieben, ist in Delphi (Object Pascal) aber auch kein großes Ding. Entscheidend ist immer, dass man weiß wie es im Kern umgesetzt werden soll. Das graphische drumherum, sprich Button und so weiter, klickt man sowieso nur zusammen.
Immer wenn es mal was schnelles sein soll, ist Delphi die erste Wahl. Obwohl ich eigentlich C Fan bin. Wenn irgendwelche Fehler bei den Eingaben auffallen, dann einfach kurz Bescheid geben. Fehler sind dazu da, dass sie beseitigt werden.
sast
Edit
@Rolle77 hab gerade dein neuen Post gelesen. Das mit den Dezimalzahlen sollte kein Problem sein. Wie sieht denn so eine dezimal Data Zeile in BasCom aus? Data &D24 &D6 oder Data 24 6.
Wie schon gesagt habe ich von BasCom gar keine Ahnung, da wäre maximal Verstehen durch Lesen von Quellcode drin. Zum selber machen ist mir das zu uninteressant. Gib mal ein Beispiel, dann pflege ich das noch mit ein.
-
Hi sast,
also bei Bascom werden beim Data-Befehl die dezimalzahlen so geschrieben:
Data 132,65,12,9,43,255 usw. die reinen Werte ohne führende Sonderzeichen.
Generell wird bei Bascom durch ein führendes "Spezialzeichen" dem Compiler mitgeteilt was für ein Datenformat er verwenden soll:
Data $34 <-- wird als ASCII Wert interpretiert, gut für Zeichen die man mit der Tastatur nicht schreiben kann.
Data &B1011 <-- wird als Binärwert interpretiert
Data &HFF <-- wird als Hexwert interpretiert
Data 123456789& <-- wird als "Long" (4 byte) interpretiert, für große Zahlen. Das "Spezialzeichen" in hier ausnahmsweise hinter der Zahl nicht vorne dran. Der Compiler will das laut Hilfe-Datei so haben.
Data "Hallo", "das", "ist", "ein", "Test" <-- wird als String interpretiert.
Generell werden mehrere Werte immer durch Kommas getrennt, unabhängig vom Format der Daten.
Deiner Aussage entnehme ich das Delphi nicht so schwer sein soll wie immer gesagt wird. Könntest du eventuell mal ein Beispiel posten? Welchen Compiler verwendest du dafür? *Neugier*
Ich hoffe ich konnte helfen. :)
Rolle77 :D
-
So hier gibts die neue Version mit 16 Werten pro Zeile für C und BasCom.
BasCom geht jetzt in hexadezimal oder dezimal.
Kommas hab ich jetzt bei den BasCom Arrays auch drin.
Und im Raw Teil gibt es jetzt hex, bin, dez und Zeichendarstellung
Viel Spass damit.
sast
edit: attachment gelöscht, siehe unten
-
Hi sast,
Hut ab, wirklich, so stelle ich mir das Programm vor. :) Ich habe das ganze gerade mal getestet, die Umwandlung klappt einwandfrei.
Eine kleine Optische Sache vielleicht noch: Ist es dir vielleicht möglich (natürlich nur wenn es nicht zu viele Umstände macht) das du die Ausgabe der dezimalzahlen für Bascom dahingehend änderst, dass diese immer drei-stellig mit eventuell notwendigen führenden Nullen sind? Dann sieht der Quelltext im Editor nicht so zerrupft aus. :-) Das ist wie gesagt eher ein optisches Problem, Bascom setzt selbstständig die Leerzeichen bei den Kommas, berücksichtigt allerdings nicht die Zahlenlänge.
Eventuell ist das ganze auch für 16 Bit zahlen möglich, so als Anregung? Dann währe das Programm absolut perfekt!
Rolle77 :-))
-
Meinst du das so? ...
Falls das Ende bei der 16Bit Darstellung auf ein einzelnes Byte stößt, wird dieses ignoriert. Wüßte sonst nicht wie ich es behandeln soll.
Kann sein, dass es noch ein Problem mit dem C Code gibt, aber das ist ja für dich irrelevant
sast
edit: attachment gelöscht
-
Hi,
genau so, jetzt ist das Programm perfekt! :-) Ich werde heute Abend das ganze mal "am Patienten" ausprobieren und schauen wie das Klingt so Soundtechnisch.
Sobald ich mehr weiß melde ich mich wieder. Falls interesse besteht kann ich den Code hier auch posten. Da ich aber erst noch meinen Progger (den von Klaus Leidinger) reparieren muss, kann das durchaus spät werden. Ich habe es geschafft durch verpolen (zugegeben es war schon sehr spät) auf diesem den Tiny2313 zu töten. Da ich zur Zeit keinen anderen Progger habe muss ich mir jetzt mit Ponyprog (ich hasse das Programm!) nen neuen Proggen. Diesmal aber gleich zwei, zur Sicherheit und nen zweiten Progger bau ich mir auch noch. :)
Rolle77 ;-)
-
So hab in Version 6 noch ein paar kleine Fehler in der 16 Bit Variante ausgebessert.
Für Gento ist jetzt auch Pascal Array mit drin.
Wie immer die Bitte, wenn ihr Fehler findet, dann gebt mir Bescheid. Ich verwende das Tool ja selbst nicht und bin somit auf eure Hilfe angewiesen.
Haftung übernehme ich natürlich keine, aber es ist jedem erlaubt, das Tool zu verwenden, wozu auch immer ihr es braucht.
sast
Edit : Wieder mal Attachment gelöscht. Aktuelles ist wie immer weiter unten zu finden.
-
Hi,
ich melde mich auch mal kurz zu Wort, mein Projekt läuft leider momentan etwas schleppend da ich zur Zeit viele Überstunden in der Firma machen muss, wir haben viel Arbeit. :)
Aber spätestens Mittwoch Abend mache ich weiter ab dort habe ich nämlich Urlaub! :))))
Rolle77
-
Delphi / Pascal.
Hinter dem letzten Wert jeder Zeile fehl ein Komma.
Aber nur seit der letzten Version.
lg
Gento