Editor pro Altair OS - nefunguje | # |
| Začal jsem psát editor pro Altair OS (viz: [link]). Stáhnul jsem si AltairOS rozchodil ho a začal jsem psát. Výsledkem mé snahy byl tento soubor (edith.c) :
/*
//
// Edith - textovy editor pro Altair OS
//
// Autor: Severak
//
// Freeware! Opensource! Nedodelane!
//
*/
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *soubor;
char text[501];
char ch;
int i = 0;
char *szArgs = malloc(64);
a_getArgs(szArgs);
textcolor(YELLOW);
clrscr();
gotoxy(1,1);
printf("Edith - textovy editor\n");
textcolor(WHITE);
do {
ch = getch();
switch(ch) {
case 8:
putchar('\b');
putchar(' ');
putchar('\b');
i=i-1;
break;
/*
//case 9:
// putchar(' ');
//break;
*/
case 13:
putchar('\r');
putchar('\n');
i=i+1;
text='\r';
i=i+1;
text='\n';
break;
case 27:
i=i+1;
/*text='\0';*/
break;
default:
putchar(ch);
i=i+1;
text=ch;
}
}
while(ch!=27 & i<500);
i=i+1;
text[i+1]='\0';
/* if (szArgs=''){
szArgs="text";
}
*/
printf(text);
soubor = fopen(szArgs);
textcolor(GREEN);
if (soubor==NULL){
printf("\nSoubor nenalezen - vytvarim soubor.\n");
if(fnew(szArgs) == FNEW_OK)
{
printf("Soubor '%s' vytvoren...\r\n", szArgs);
soubor = fopen(szArgs);
}
else
{
textcolor(RED);
printf("Chyba pri ukladani souboru '%s'! Nejspis spatne jmeno...\r\n", szArgs);
}
}
if (soubor!=NULL)
{
printf("\nZapisuji do souboru...\n");
fseek(fsize(soubor), soubor, false);
fwrite(text,i,soubor);
fclose(soubor);
printf("Soubor '%s' ulozen!\n",szArgs);
}
}
Nefunguje to, ale dost divně. Edituje to, ale do souboru se správným jménem to uloží jakési paznaky.
Nejdivnější ale je, že verze pro windows, která se liší jen v detailech(viz níže) funguje a dělá to co má - připisuje na konec souboru.
Rozdíly verze pro windows:
Windows verze edituje pevně daný soubor nazvaný text.txt . Pod řádkou while(ch!=27 & i<500); se nachází tento kód:
clrscr();
printf(text);
soubor = fopen("text.txt","a");
fputs(text,soubor);
fclose(soubor);
}
(verzi pro windows jsem zkompiloval pomocí lcc a knihovny tcconio.h .) (odpovědět) | |
|
|
re: Editor pro Altair OS - nefunguje | # |
| Ano, je to moje chyba, udelal jsem uplne pojebany "ovladac" FAT12. Tady by to melo byt jiz opravene: [link]
Dejte vedet, jestli to jde nebo ne, nemam moznost zde kompilovat a nevim, jestli se nejedna nahodou o nejakou "rozpracovanou" verzi. (odpovědět) | DjH. | 193.165.154.* | 7.2.2010 18:24 |
|
|
|
re: Editor pro Altair OS - nefunguje | # |
| Teda jdu s textovým editorem s křížkem po funuse...
AltairX je proti předchozí verzi fakt třída, cmdr je skvělá aplikace. Ale stejně mi to neběží.
Trošku jsem přepsal kód, začíná takhle:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
FILE *soubor;
char text[501];
char ch;
int i = 0;
char *nazev;
printf("Edith startuje...\n");
textcolor(YELLOW);
clrscr();
gotoxy(1,1);
....
Ale nefunguje. Napíše to asi 12krát za sebou
Edith startuje...
a pak to zatuhne. No... Budu zkoušet něco psát dál, ale ozvu se až budu mít hotovo.... (odpovědět) | |
|
|
re: Editor pro Altair OS - nefunguje | # |
| Hod na [link] cely zdrojak, zkusim se mrknout. (odpovědět) | DjH. | 193.165.154.* | 8.2.2010 23:37 |
|
|
|
re: Editor pro Altair OS - nefunguje | # |
| Zde to je - [link]
Problém ale, je že nefunguje i Hello World (to pro změnu jen zatuhne) není to tedy nakonec taky vývojová verze?
Hello world (pokus.c):
/*
* Aplikace pokus pro operacni system AltairOS
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
puts("Hello world!");
return 0;
} (odpovědět) | |
|
|
re: Editor pro Altair OS - nefunguje | # |
| Hmmm, sakra. Nevim jestli to je testovaci nebo ne, mel jsem za to, ze to je uz finalni. :-) Mimochodem, zrejme to asi kompilujes pres pridani projektu do /source, ze? (proste ze se o to nepokousis "vlastni cestou", ale pouzivas ten "muj skript" na zkompilovani). (odpovědět) | DjH. | 193.165.154.* | 10.2.2010 7:06 |
|
|
|
re: Editor pro Altair OS - nefunguje | # |
| Dulezita otazka: AltairOS ti jde kompletne a bez chyb zkompilovat a pote spustit? (odpovědět) | DjH. | 193.165.154.* | 10.2.2010 7:10 |
|
|
|
re: Editor pro Altair OS - nefunguje | # |
| Kupodivu jo.... (odpovědět) | |
|
|
re: Editor pro Altair OS - nefunguje | # |
| A ten muj editor v /bin/edit funguje bez problemu? Jestli ano, tak netusim, kde je chyba. (odpovědět) | DjH. | 193.165.154.* | 10.2.2010 19:33 |
|
|
|