Olen nykyaikaistamassa vanhoja DOS ohjelmia Borlandin Developer Studiossa.
Osa ohjelmista on pascalia,osa C kielisiä.
Ohjelmat lukevat toisten ohjelmien muodostamaa dataa, mutta erityistapauksissa käyttäjä editoi dataa manuaalisesti.
Vanhoissa C ohjelmissa suurehko määrä dataa luetaan silmukoissa tiedostosta,
ensin puskurina toimivaan muuttujaan, sitten sscanf(szTemp,"%f %f",&AlkuLuku,&LoppuLuku); jne.
Uudessa ohjelmassa on tarkoitus lukea koko tiedosto TMemo:oon ja lukea tiedot sitten siitä.
Vanhoilla konsteilla tekisin C ohjelmassa:
strncpy(szTemp,Memo1->Lines->Strings[i].c_str() ,299);
sscanf(szTemp,"%f %f",&AlkuLuku, &LoppuLuku);
Pascalissa se ei tietenkään toimi enkä liiemmin osaa pascalia.
Onko TMemossa menetelmää jolla tietoa useampaan muuttujaan voitaisiin lukea suoraan TMemon riveiltä?
Mieluiten sellaista joka toimisi suurinpiirtein samanlaisena myös Dephissä.
TStringGrid olisi monessa mielessä parempi, mutta rivien lisääminen ja poistaminen siinä on työläämpää.
Osa ohjelmista on pascalia,osa C kielisiä.
Ohjelmat lukevat toisten ohjelmien muodostamaa dataa, mutta erityistapauksissa käyttäjä editoi dataa manuaalisesti.
Vanhoissa C ohjelmissa suurehko määrä dataa luetaan silmukoissa tiedostosta,
ensin puskurina toimivaan muuttujaan, sitten sscanf(szTemp,"%f %f",&AlkuLuku,&LoppuLuku); jne.
Uudessa ohjelmassa on tarkoitus lukea koko tiedosto TMemo:oon ja lukea tiedot sitten siitä.
Vanhoilla konsteilla tekisin C ohjelmassa:
strncpy(szTemp,Memo1->Lines->Strings[i].c_str() ,299);
sscanf(szTemp,"%f %f",&AlkuLuku, &LoppuLuku);
Pascalissa se ei tietenkään toimi enkä liiemmin osaa pascalia.
Onko TMemossa menetelmää jolla tietoa useampaan muuttujaan voitaisiin lukea suoraan TMemon riveiltä?
Mieluiten sellaista joka toimisi suurinpiirtein samanlaisena myös Dephissä.
TStringGrid olisi monessa mielessä parempi, mutta rivien lisääminen ja poistaminen siinä on työläämpää.
Vastaukset 1
Vanhimmat
-Itselläni on Borland C 6 Personal Edition - Developer Studiotsta en tiedä
mitään.
-Memossa ei näytä olevan ominaisuuksia tai metodeja,joita tarvitset.
Tavalliseen tekstitiedostoon voidaan kyllä tallentaa tietoja plus lukea,mutta
työlästä........!
-Helpoimmalla pääset StringGridiä käyttämällä.Siinähän voidaan tallentaa haluttaessa
koko griidi kertaheitolla tiedostoon ja samaten lukea "näkyviin".Itse teen
hommat vanhanaikaisesti - griidi binääritiedosto ja taustalla structi.
-Rivien lisääminen ja poistaminen StringGridissä ovat helppoja juttuja sen Memon
mahdollisen soveltamisen rinnalla.Jos käyttäjän on annettava kirjoittaa tietoja
suoraan lukufailiin,niin siinäkin ovat omat ongelmansa.
-Nuo ongelmat ohjelmiston vaihtamisessa ovat kyllä tuttuja täälläkin,mutta ei
kannata ajaa pirua ulos belsebubin avulla - eli kyllä se teettää töitä ja
mieluummin yleishyödyllisimmällä tavalla.