Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 15-04-2005, 18:44
dragonstorm
Avatar van dragonstorm
dragonstorm is offline
ik heb een miniprog geschreven dat een text naar html converteert

het ondersteund *geen* formatting, en ik ben de laatste om te beweren dat 'm perfect is, maar hij werkt wel
k ben van plan meer features toe te voegen

hij is geschreven in C

het staat op
html_maker.c

je hebt de volgende file nodig om de zooi te compileren:
parser.h


waarom ik dit hier post...
niet om te horen dat 'm zo geweldig is iig, want dat is 'm niet

eerder zodat andere mense t in konden zien, en verbeteringen/bugs opnoemen, zodat k er ook nog wat van kan leren

licensie? doe maar iets van GPL ofzo
Met citaat reageren
Advertentie
Oud 15-04-2005, 18:48
freyk
Avatar van freyk
freyk is offline
ik wil het best wel voor je testen,..maar zou je hem dan ff zelf willen compileren?
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.
Met citaat reageren
Oud 15-04-2005, 19:33
dragonstorm
Avatar van dragonstorm
dragonstorm is offline
nee
ik wil mss wel over m'n hart strijken en linux-x86 binary maken, maar een windows binary is me teveel werk
(hier kom ik mss nog wel op terug)

installeer
a): een OS dat *wel* met een c compiler komt
b): een C compiler en/of IDE, zoals dev c++ .

voor de grappenmakers die t willen testen:
(binary file) < (input file) > (output file)

bvb.
a.out < command.txt > command.html

dit is de simpelste I/O die je kunt krijgen, maar ik weet eigenlijk niet hoe een fatsoenlijke file I/O op te zetten hulp daarmee is gewaardeerd

en ja, ik weet dat je main een aantal argumenten mee kunt geven, die je als file pointers kunt gebruiken, maar ik heb hier alleen maar problemen mee gehad

edit:
linux x86 binary

gecompileerd tegen slackware 10.1, zou moeten werken op ieder redelijk modern systeem

Laatst gewijzigd op 15-04-2005 om 19:36.
Met citaat reageren
Oud 15-04-2005, 20:22
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Schattig.
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 15-04-2005, 21:52
dragonstorm
Avatar van dragonstorm
dragonstorm is offline
toegevoegde feature!

hij ondersteund nu fatsoenlijk spaties!
ik weet het, want k heb t geprobeerd

mvg
bart
Met citaat reageren
Oud 16-04-2005, 08:31
Verwijderd
Citaat:
dragonstorm schreef op 15-04-2005 @ 20:33 :
nee
ik wil mss wel over m'n hart strijken en linux-x86 binary maken, maar een windows binary is me teveel werk
(hier kom ik mss nog wel op terug)
Fijn. Dan niet. Doei.
Met citaat reageren
Oud 16-04-2005, 13:47
dragonstorm
Avatar van dragonstorm
dragonstorm is offline
whatever....


bugfix!
hij zou 'm eerst verkeerd parsen als je er 2 < achter elkaar zet, maar dat is bij deze gefixed
Met citaat reageren
Oud 16-04-2005, 15:21
McMotion
Avatar van McMotion
McMotion is offline
paar opmerkingen:

- goed dat je het opdeelt in allerlei functies enzo, maar dat is niet per definitie leesbaarder - als je hetzelfde kan doen in 10 regels code dan zou ik het gewoon in één functie zetten ik vind je functies ook niet echt logisch
- probeer implementatiecode in je headerfiles te voorkomen
- gebruik geen nederlands en engels door elkaar voor je functies enzo
- ik denk dat je het in dit geval zonder dynamische geheugenallocatie afkan.. dat scheelt een hoop gedoe en kan een boel kutbugs voorkomen
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan

Laatst gewijzigd op 16-04-2005 om 15:42.
Met citaat reageren
Oud 16-04-2005, 16:19
dragonstorm
Avatar van dragonstorm
dragonstorm is offline
ok, bedankt
Citaat:

- goed dat je het opdeelt in allerlei functies enzo, maar dat is niet per definitie leesbaarder - als je hetzelfde kan doen in 10 regels code dan zou ik het gewoon in één functie zetten ik vind je functies ook niet echt logisch
De functie van de functies is tweeledig, enerzijds moeten ze de string naar de hulpstring copieren, en anderzijds moeten ze aangeven hoevel karakters erbij komen. Daarom is het wel enigzins handig om hiervoor een functie te hebben.
Maar je hebt gelijk, helemaal optimaal is het niet.

Citaat:

- ik denk dat je het in dit geval zonder dynamische geheugenallocatie afkan.. dat scheelt een hoop gedoe en kan een boel kutbugs voorkomen
Vreemd maar waar; dit is niet zo. Ik snap er zelf ook niets van - als ik in plaats van

Code:
d = calloc(a, sizeof(char));
Code:
char d[a];
zou zetten, dan zou dat dezelfde effect moeten opleveren, of niet? vreemd maar waar - dit is dus blijkbaar niet zo. Bij het parsen van 'n textfile (de betreffende C file, om precies te zijn) krijg ik allemaal rare errors na de functie newline. ik snap er eerlijk gezegd he-le-maal niets van

en nog iets. de code voor 'n tab is toch \t?

bedankt iig

edit:

toch een windows binary!
http://home.kabelfoon.nl/~bwiegm/test.exe

en: hoe maak ik in vredesnaam redelijk netjes een tab in dat ding ... k zie nog wel

Laatst gewijzigd op 16-04-2005 om 16:30.
Met citaat reageren
Oud 16-04-2005, 19:53
dragonstorm
Avatar van dragonstorm
dragonstorm is offline
m'n eerste baby is nu officieel dood
en t is veel simpeler geworden:

Code:
#include <stdio.h>

void makehtml();

main()
{
      makehtml();      
}

void makehtml()
{
     char c,d = '\0';
     while ((c = getchar()) != EOF)
     {
           switch (c)
           {
                  case '>':
                       printf("&#62;");
                       break;
                  case '<':
                       printf("&#60;");
                       break;
                  case '\n':
                       printf("<br />");
                       break;
                  case ' ':
                       if (d == ' ')
                          printf("&nbsp;");
                       else
                           putchar(' ');
                       break;
                  default:
                          putchar(c);
           }
           d = c;
     }
}
in vergelijking met het origineel is dit veel korter

de reden dat t origineel zo ingewikkeld was, komt doordat ik eigenlijk een heel ander systeem in gedachten had
Met citaat reageren
Oud 16-04-2005, 21:20
Verwijderd
gelukkig gebruik je wel duidelijke namen voor je variabelen zodat ook een ander weet waar ze voor staan...

Enniewees... ik zal die windows binary eens proberen.
Met citaat reageren
Oud 16-04-2005, 22:56
dragonstorm
Avatar van dragonstorm
dragonstorm is offline
Citaat:
eddie schreef op 16-04-2005 @ 22:20 :
gelukkig gebruik je wel duidelijke namen voor je variabelen zodat ook een ander weet waar ze voor staan...

Enniewees... ik zal die windows binary eens proberen.
gelukkig dat er ook zo verdomde veel variabelen gebruikt worden, dat zoiets hoofdzaak word

btw, de windows binary is achterhaald - de nieuwstee versie ondersteund tabs en de windows versie nog niet
Met citaat reageren
Oud 16-04-2005, 23:19
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
dragonstorm schreef op 16-04-2005 @ 20:53 :
m'n eerste baby is nu officieel dood
en t is veel simpeler geworden:

Code:
#include <stdio.h>

void makehtml();

main()
{
      makehtml();      
}

void makehtml()
{
     char c,d = '\0';
     while ((c = getchar()) != EOF)
     {
           switch (c)
           {
                  case '>':
                       printf("&#62;");
                       break;
                  case '<':
                       printf("&#60;");
                       break;
                  case '\n':
                       printf("<br />");
                       break;
                  case ' ':
                       if (d == ' ')
                          printf("&nbsp;");
                       else
                           putchar(' ');
                       break;
                  default:
                          putchar(c);
           }
           d = c;
     }
}
in vergelijking met het origineel is dit veel korter

de reden dat t origineel zo ingewikkeld was, komt doordat ik eigenlijk een heel ander systeem in gedachten had
precies zoals ik in gedachten had.. geen dynamische geheugenallocatie (dit werkt ook nog eens veel efficienter als je een textfile van 1 gig om wil zetten naar html.. niet dat dat snel zal gebeuren maar ok ) onhandig trouwens dat dit forum niet bij het weergeven van posts niet al alle &'s door &amp; vervangt nu lijkt het alsof je voor elke > weer een > wegschrijft ipv &amp;#62;
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan

Laatst gewijzigd op 16-04-2005 om 23:24.
Met citaat reageren
Oud 17-04-2005, 12:06
GVR
GVR is offline
Citaat:
eddie schreef op 16-04-2005 @ 22:20 :
gelukkig gebruik je wel duidelijke namen voor je variabelen zodat ook een ander weet waar ze voor staan...
Jup, c is de standaard letter voor char en d is een logisch gevolg.
Met citaat reageren
Oud 17-04-2005, 15:22
dragonstorm
Avatar van dragonstorm
dragonstorm is offline
Citaat:
McMotion schreef op 17-04-2005 @ 00:19 :
precies zoals ik in gedachten had.. geen dynamische geheugenallocatie (dit werkt ook nog eens veel efficienter als je een textfile van 1 gig om wil zetten naar html.. niet dat dat snel zal gebeuren maar ok ) onhandig trouwens dat dit forum niet bij het weergeven van posts niet al alle &'s door &amp; vervangt nu lijkt het alsof je voor elke > weer een > wegschrijft ipv &amp;#62;
*grijnst*

de huidige versie ondersteunt dat iig wel
*en ook de laatste versie, voorlopig*

het enige wat ik een beetje jammer vind is dat op deze manier geen support voor formatting in te bouwen is op een relatief schone manier, en dat kon de andere versie weer wel maar never mind
Met citaat reageren
Oud 17-04-2005, 18:30
McMotion
Avatar van McMotion
McMotion is offline
hoe bedoel je?
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 17-04-2005, 18:48
dragonstorm
Avatar van dragonstorm
dragonstorm is offline
voor het invoeren van opmaak, zul je html tags moeten maken

dus zullen er weer opmaaktags in het tekstbestand moeten staan,
zoals \b en \b0 in rtf, of in vbcode
omdat dit systeem maar 2 karakters heeft, word het domweg onmogelijk tags te herkennen zonder meer karakters toe te voegen, niet een goede manier. Met een al-dan-niet-dynamisch-gealloceerde array is dit veel makkelijker
maar van de andere kant, zo afgrijselijk belangrijk is dat ook niet
Met citaat reageren
Oud 17-04-2005, 20:47
McMotion
Avatar van McMotion
McMotion is offline
ja maar dan is het ook geen (plain)text data meer althans, zo interpreteer je het dan niet... en je kan best simpele tags interpreteren, bijvoorbeeld als je alle tags laat beginnen met een \, bijvoorbeeld \b voor bold, \u voor underline en \\ om een backslash mee aan te geven... dan loop je gewoon alle tekens door zoals je nu doet, en in het geval van een backslash lees je nóg een teken uit die je als speciale tag interpreteert... als je echt een rtf reader wil maken dan komt er véél meer bij kijken maar zelfs dan kan je het beste teken voor teken inlezen
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware [Centraal] Spyware & Adware [3]
Enlightenment
461 24-01-2006 09:53


Alle tijden zijn GMT +1. Het is nu 16:41.