С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5

Ошибка с кодировкой.

07.04.2012, 17:40. Показов 1206. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Возникла одна непонятная ошибка. Записываю массив в текстовый файл, но когда параметры передаются одни, то записывается нормально, а когда другие - почему-то записываются крокозябры:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
procedure SaveSeries (var StringGrid:TStringGrid;
                      var Arr: TArray;
                      Sorted:boolean);
var filename,FilePrefix:string;
    i:Integer;
begin
if StringGrid.Cells[0,0]='' then
begin
  MessageBox(MainForm.handle,PChar('Сохранять нечего!'),
        'Внимание',MB_OK + MB_ICONINFORMATION);
  exit
end; //endif
If MessageBox(MainForm.handle,
PChar('Вы действительно хотите сохранить последовательность?'),
                        'Внимание',MB_YESNO + MB_ICONQUESTION)=IDNO then
  begin
    MessageBox(MainForm.handle,PChar('Файл не был сохранен!'),
              'Внимание',MB_OK + MB_ICONINFORMATION);
    exit;
  end; //endif
i:=0;
if sorted then FilePrefix := 'Sorted Series('
          else FilePrefix := 'Series X(';
//Поиск имени несуществующего файла, чтобы в него записать последовательность
repeat
  inc(i);
  filename:=FilePrefix+IntToStr(i)+').txt';
until NOT(fileexists(filename));
AssignFile(OutPut,filename);
Rewrite(OutPut);
for i := 0 to StrToInt(MainForm.EditNumber.Text)-1 do
  write(OutPut,IntToStr(Arr[i])+' ');
closefile(OutPut);
MessageBox(MainForm.handle,PChar('Файл был сохранен в папке с программой под именем '
                        +filename),'Сообщение',MB_OK + MB_ICONINFORMATION);
end;  //END OF PROCEDURE
Можно было бы подумать, что проблема в параметрах, но нет: во-первых параметры одни и те же, отличаются, грубо говоря, именем (файла, куда записываем и массива, откуда берем данные, длины массивов одинаковы), но если boolean=true, то записывается нормально, если false - то записываются крокозябры, во-вторых при открытии через notepad++ вместо обычного блокнота в обоих случаях нормально все получается и открывается. ???
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2012, 17:40
Ответы с готовыми решениями:

С кодировкой базы данных и кодировкой сайтом и кодировкой файла разобраться не могу
С кодировкой базы данных и сайтом файлом разобраться не могу. Я на своем сайте вывожу данные из другой mysql.... МММ сайт на win 1251 а...

Ошибка с кодировкой
Читает кракозябли(. Кодировку поставил utf-8 без BOM <?php header('Content-Type: text/html; charset=utf-8'); $filename =...

Ошибка с кодировкой
Здравствуйте. Написал программу, которая выделяет определенные участки текста bb-кодами. Но возникла проблема, программа не понимает...

9
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
07.04.2012, 18:12
Так может это блокнот так реагирует на имя файла? Проверь кодировку в одном и в другом случае. Или выложи файлы, я проверю. Я пользуюсь AkelPad-ом. Там можно переоткрывать в разных кодировках. Как в notepad++ не знаю.
Или просто переименуй файл и попробуй опять открыть блокнотом.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.04.2012, 20:36  [ТС]
Одиночка, вот, смотрите, если последовательность сортированная, то работает нормально, если несортированная - то для 10 элементов норм, а для 100+ уже крокозябры. Переименовывание не спасает...
Вложения
Тип файла: rar Merge.rar (210.3 Кб, 24 просмотров)
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
07.04.2012, 23:35
Вот запустил программу. Никаких кракозябров.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.04.2012, 23:43  [ТС]
Одиночка, если сохранить в файл на 100+ элементов обычную последовательность, то крокозябры. ПРоверил на 2 компах. Щас на третьем проверю.

Вот, то же самое: в блокноте крокозябры, в wordpad'е открывается нормально...
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
07.04.2012, 23:51
Может я не так сделал.
Диапазон разброса установил 100,
Количество элементов 100000,
Вид последовательности - щелкнул "случайная",
Щелкнул, на всякий случай "подсчитать",
Щелкнул "сохранить" "действие над последовательностью Х".
Полученный файл открывал разными редакторами - всё нормально.
Примерно то же самое делал, только с сортировкой. Отсортированный файл нормальный.
После сохранения отсортированного, сохранил ещё и неотсортированный. Всё нормально.
Прикладываю результирующие файлы.
Вложения
Тип файла: rar Series.rar (220.1 Кб, 3 просмотров)
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
08.04.2012, 10:08  [ТС]
Одиночка, ясно,спасибо. У меня тоже эти файлы нормально открылись ,но вот сгенерированные мной получаются фигово
Вложения
Тип файла: rar abcd.rar (800 байт, 3 просмотров)
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
08.04.2012, 10:23
Оба файла нормально открываются:
Миниатюры
Ошибка с кодировкой.  
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
08.04.2012, 10:25  [ТС]
Одиночка, еще раз: в worpad'е открывается, во всех остальных открывается, в обычном блокноте (system32/notepad.exe) Не хочет...
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
08.04.2012, 10:32
У меня тоже. Ну и хрен с ним. Это проблемы блокнота.
Кстати. Когда я в другом редакторе повставлял Enter после каждой строки, которая отображалась на экране - блокнот нормально открыл. Видимо это связано с длиной строки.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2012, 10:32
Помогаю со студенческими работами здесь

Ошибка с кодировкой
$host = 'http://www.softtime.ru/dic/id_dic=277&id_group=11'; // АДРЕС КУДА ИДЁМ $search = 'Возвращает'; //ПОИСКОВАЯ ФРАЗА /* ДАЛЬШЕ...

непонятная Ошибка с кодировкой
У меня такая проблема. Работаю с DREAMWEAVER cs5 + mysql. В настройках дрима при создании файла выставлена кодировка windows 1251, у базы...

Ошибка с кодировкой в PostgreSQL
При копировании базы из MS SQL в PostgreSQL через Visual C# возникла ошибка неверная последовательность байт для кодировки utf8 0x00Если я...

php 5.4.4 ошибка с кодировкой
Обновил на сервере php до версии 5.4.4 пытаюсь залогиниться на сайт, меня не пускает, причем проблема только с логинами на русском языке, с...

Ошибка c utf-8 кодировкой
Доброго времени суток всем. Помогите пожалуйста советом. Есть сайт на битриксе, мы столкнулись с проблемой, доработали дефолтный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru