|
|
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
всем доброй ночи.... Есть структура struct fsfile { char name[100]; int size; }; Тут я запоняю структуру из ТListView и пытаюсь записать ее в файл txt if (SaveDialog->Execute()) { for (int i = 0; i < ListView->Items->Count; i++) { if (!FileExists(SaveDialog->FileName)) file = new TFileStream(SaveDialog->FileName, fmCreate|fmShareExclusive); else file = new TFileStream(SaveDialog->FileName, fmOpenWrite|fmShareExclusive); strcpy(fs.name, ListView->Items->Item ->Caption.c_str()); strcpy(fs.name, "."); strcpy(fs.name, ListView->Items->Item->SubItems->Strings[1].c_str()); fs.size = StrToInt(ListView->Items->Item->SubItems->Strings[0].c_str()); int size_f = file->Seek(0, soFromEnd); file->Seek(size_f, soFromBeginning); file->Write(&fs, sizeof(fsfile)); delete file; } Вот по идеи записалось...так нет...вместо того чтобы записать по русски пишет какие-то закарюки и иероглифы...В чем проблема...((( Заранее большое спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2004, 00:19 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
У меня там опечатка Вместо strcpy надо strcat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2004, 00:48 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
Хех , лутьше не мучейся , а сделай так Код: plaintext 1. 2. 3. 4. 5. 6. ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2004, 11:38 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
2 JibSkeart кроме структуры мне много чего ещё нужно забить в файл....))) Мне к сожалению не подойдет данный путь решения проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2004, 13:01 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
Ндык , так бы и сказал ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2004, 13:38 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
Дело в кодировке, кажется. Помнится у меня была сходная проблема. Может поможет определение свойства Font->Charset у ListView? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 07:29 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
Только какой Charset ... У меня стоит RUSSIAN_CHARSET..)) Он как раз не отображает русского шрифта и size_f числом...((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 09:36 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
'FaTsO'Только какой Charset ... У меня стоит RUSSIAN_CHARSET..)) Он как раз не отображает русского шрифта и size_f числом...((( А при просмотре твоего файла в FAR'е он как выглядит? Нормально? Согласен с Philin. Проблема именно в кодировке. И дело скорее всего не в RUSSIAN_CHARSET, а в том, что в ср866 и ср1251 (они обе RUSSIAN_CHARSET :) , только одна под ДОС, другая под Винды) русские буквы имеют разные коды! А, насколько я понял (писал программу по работе с БД на С++Builder), такая перекодировка автоматически не производится :(. А по умолчанию для программ принимается именно ср1251. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 10:04 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
да просто поэкспериментировать. CharToOem, OemToChar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 10:08 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
Самый прикол в том что если ставлю RUSSIAN_CHARSET отображается правильно записи на англ. Если ставлю ANSI_CHARSET то отображается правильно русский текст...))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 15:49 |
|
||
|
Помогите записать...т.е. поравить меня немного
|
|||
|---|---|---|---|
|
#18+
В итоге я выкрутился так (это если кому интересно): struct fsfile { char name[100]; char size[100]; }; if (SaveDialog->Execute()) { for (int i = 0; i < ListView->Items->Count; i++) { TFileStream *file; fsfile fs; strcpy(fs.name, ""); strcpy(fs.size, ""); strcat(fs.name, ListView->Items->Item ->Caption.c_str()); strcat(fs.name, "."); strcat(fs.name, ListView->Items->Item->SubItems->Strings[1].c_str()); strcat(fs.size, ListView->Items->Item->SubItems->Strings[0].c_str()); if (!FileExists(SaveDialog->FileName)) file = new TFileStream(SaveDialog->FileName, fmCreate|fmShareExclusive); else file = new TFileStream(SaveDialog->FileName, fmOpenWrite|fmShareExclusive); int size_f = file->Seek(0, soFromEnd); file->Seek(size_f, soFromBeginning); file->Write(fs.name, strlen(fs.name)); file->Write(fs.size, strlen(fs.size)); delete file; } простенько и со вкусом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 23:53 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32741967&tid=2034229]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 312ms |

| 0 / 0 |
