Fájlba írás 2012-05-12T09:42:55+00:00
8 bejegyzés megtekintése - 1-8 / 8
  • Szerző
    Bejegyzés
  • gezatata
    Tag
    Bejegyzések száma: 20

    Szia Atilla
    olyan jó, hogy van hol feltegyem a kérdéseimet

    adatokat íratok ki fájlba és zavar, hogy minden kiírt fájlnak külön kézzel kell megadjam a nevét,
    ezért úgy gondoltan mindegyiknek a neveként a keletkezési dátumát adnám,
    csak nem tudok rájönni hogy írjam oda a .csv elébe úgy, hogy a MetaEditor is elfogadja

    string kezdet;
    kezdet=TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);

    string ExcelPip= kezdet,”.csv”;
    Handle=FileOpen(ExcelPip,FILE_CSV|FILE_READ|FILE_WRITE,”;”);

    ha ebben is tudnál segíteni , örömmel fogadnám

    Radulovic Attila
    Tag
    Bejegyzések száma: 644

    A legfontosabb, hogy fájlnévben nem lehet kettőspont.

    A második legfontosabb, hogy stringeket a StringConcatenate eljárással tudsz összefűzni. A kettőspontok helyett használhatsz szünetet vagy kötőjelet.

    string
       fajlnev = StringConcatenate(TimeToStr(TimeCurrent(), TIME_DATE), " ", Hour(), "-", Minute(), "-", Seconds(), ".csv");

    A stringben végeredményként ez lesz:
    2011.01.02 22-0-26.csv

    A StringConcatenate -nek egyszerűen úgy add meg a paramétereket, mint ahogy a Print() esetében tennéd (max. 64 darabot).

    A Print esetében sokan használják a + (plusz) jelet, de a dokumentáció azt írja, hogy a StringConcatenate alkalmasabb a feladatra.

    gezatata
    Tag
    Bejegyzések száma: 20

    mindig jó érzéssel tölt el mikor olyan emberel találkozom akiben párosul a szakértelem és a segítőkészség,
    köszönöm szépen segítségedet

    Radulovic Attila
    Tag
    Bejegyzések száma: 644

    Nincs mit, örülök hogy segíthetek!

    szs
    Tag
    Bejegyzések száma: 11

    Szia Attila

    Azt szeretném kérdezni, hogy lehet-e tetszőleges fileba irni . pl c:/temp nem a rendszer altal adott helyre
    string fs = “c:/temp/nev”+”.csv”;
    int handle=FileOpen(fs,FILE_CSV|FILE_WRITE,”,”);
    if(handle>0) {
    FileWrite(handle,Counter);
    }
    FileClose(handle);
    Így nem működik.
    Köszönettel.

    Radulovic Attila
    Tag
    Bejegyzések száma: 644

    Nem, kizárólag a Files mappán belül tudsz dolgozni a natív függvényekkel.

    Továbbá figyelj arra, hogy perjelek helyett visszaper jelet használj az elérési út megadásakor!

    szs
    Tag
    Bejegyzések száma: 11

    Sajnos a vissza perrel sem működik, semmilyen alternatívában.
    Találtam viszont egy kernel32 rutint a demoban, az erről szól csak kissé bonyolult

    string ReadFile (string path)
    {
    int handle=_lopen (path,OF_READ);
    int read_size = 50;
    string char50=”x “;

    if(handle<0)
    {
    Print(“Error opening file “,path);
    return (“”);
    }
    int result=_llseek (handle,0,0);
    if(result<0)
    {
    Print(“Error placing the pointer” );
    return (“”);
    }
    string buffer=””;
    int count=0;
    int last;

    result=_lread (handle,char50,read_size);
    int readen;
    while(result>0 && result == read_size)
    {
    buffer=buffer + char50;
    count++;
    result=_lread (handle,char50,read_size);
    last = result;
    }
    Print(“The last read block has the size of, in bytes:”, last);
    char50 = StringSubstr(char50,0,last);
    buffer = buffer + char50;
    result=_lclose (handle);
    if(result<0)
    Print(“Error closing file “,path);
    return (buffer);
    }

    Radulovic Attila
    Tag
    Bejegyzések száma: 644

    Igen, kernel32-vel meg tudod oldani a kérdést, hogy bármilyen fájlt olvashass a rendszeren belül.

    Fentebb írtam, hogy a visszaperjeles megoldás kizárólag a Files mappán belül fog működni.

8 bejegyzés megtekintése - 1-8 / 8

A hozzászóláshoz jelentkezz be!

Adhatok Neked még több ingyenes tartalmat?

Értesítelek hetente megjelenő új tartalmaimról.