Fájlba írás2012-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: 646

    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: 646

    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: 646

    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: 646

    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.

Hozzájárulok, hogy az adatvédelmi nyilatkozat szerint biztonságosan kezeld megadott adataimat, valamint hasznos anyagokat és egyedi ajánlatokat küldj nekem termékeiddel, szolgáltatásaiddal kapcsolatban e-mailben