Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.08.24;
Скачать: [xml.tar.bz2];

Вниз

Проблема с поддержкой латышских букв в программе   Найти похожие ветки 

 
Антипов В.А.   (2013-10-03 00:01) [0]

Здравствуйте! Подскажите пожалуйста,незнаю что делать. Написал клиенту из Латвии прогу для печати накладных. В ней клиент вносит свои реквизиты, данные для печати и печатает накладную. Проблема в том что в реквизитах всяко-разные латышские буквы, которых нет в английском алфавите. Вносить прога дает, а сохраняет неверно(при закрытии) реквизиты в текстовый файл(для последующей загрузки реквизитов,чтобы снова не вводить при выписке). При сохранении прога сама правит символы на англ.манер,например С(с верхней галкой) на просто С и т.д. Как это побороть?


 
DVM ©   (2013-10-03 00:07) [1]


>  Вносить прога дает, а сохраняет неверно

версию делфи и код сохранения в студию


 
Туповатый ©   (2013-10-03 00:17) [2]

Unicode разве не спасет?


 
DVM ©   (2013-10-03 00:20) [3]


> Туповатый ©   (03.10.13 00:17) [2]
> Unicode разве не спасет?

У него перекодируется наверняка при сохранении в файл, т.к. TStringList, TStringStream и прочие по умолчанию используют TEncoding.Default, а это Ansi


 
Антипов В.А.   (2013-10-03 00:21) [4]

Delphi 2010, а код простой:
var
F:TextFile;
begin
AssignFile(F,"rekviziti.lst");
Rewrite(F);
WriteLn(F,Edit1.Text);
WriteLn(F,Edit2.Text);
WriteLn(F,Edit3.Text);
CloseFile(F);
Как сохранять в юникоде?


 
DVM ©   (2013-10-03 00:27) [5]

var
 SL: TStringList;
begin
 SL := TStringList.Create;
 try
   SL.Encoding := TEncoding.Unicode;
   SL.Add(Edit1.Text);
   ...
   SL.SaveToFile("rekviziti.lst");
 finally
    SL.Free;
 end;
end;


 
Антипов В.А.   (2013-10-03 00:34) [6]

>DVM Спасибо! Попробую...


 
Антипов В.А.   (2013-10-03 00:37) [7]

[DCC Error] Unit1.pas(70): E2003 Undeclared identifier: "Encoding"


 
DVM ©   (2013-10-03 00:40) [8]


> Антипов В.А.   (03.10.13 00:37) [7]

uses SysUtils;


 
DVM ©   (2013-10-03 00:40) [9]


> Антипов В.А.   (03.10.13 00:37) [7]

у тебя точно Delphi 2010?


 
Anatoly Podgoretsky ©   (2013-10-03 00:45) [10]


> Антипов В.А.   (03.10.13 00:21) [4]
> Delphi 2010, а код простой:varF:TextFile;
> в юникоде?

ТеxtFile не пойдет, он без поддержки Юникода. Используй TStringList


 
Антипов В.А.   (2013-10-03 00:47) [11]

Delphi 2010 Могу скрин кинуть :)


 
Антипов В.А.   (2013-10-03 00:48) [12]

Такие юниты юзаю:
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;


 
DVM ©   (2013-10-03 00:50) [13]


> Антипов В.А.   (03.10.13 00:47) [11]

Тогда делай как я написал. Я не помню, есть ли в D2010 свойство Encoding у TStringList, если все же нету, тогда вызови метод так SL.SaveToFile("rekviziti.lst", TEncoding.Unicode);


 
Антипов В.А.   (2013-10-03 00:52) [14]

http://s020.radikal.ru/i721/1310/ef/f75eb963aa6e.jpg


 
Антипов В.А.   (2013-10-03 00:56) [15]

SL.SaveToFile("rekviziti.lst", TEncoding.Unicode); компилит без ошибок. Отправлю клиенту, пусть потестит... Спасибо!


 
Антипов В.А.   (2013-10-03 00:57) [16]

Читать надо тоже по особому или обычный Read подойдет?


 
DVM ©   (2013-10-03 10:19) [17]


> Антипов В.А.   (03.10.13 00:57) [16]


> или обычный Read подойдет?

Не подойдет. И вообще забудь про этот анахронизм паскалевские файлы.
У TStringList есть метод LoadFromFile, пользоваться точно также как SaveToFile, там тоже кодировка есть. Кстати, это еще вопрос, какая кодировка нужна твоему клиенту. Имхо наилучший вариант - UTF8.


 
Антипов В.А.   (2013-10-03 10:26) [18]

Понял. Спасибо! :) Попробую набросать загрузку файла через TStringList...


 
Антипов В.А.   (2013-10-03 11:48) [19]

Получилось,все работает как надо! Спасибо всем за полезные советы!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2014.08.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.002 c
15-1390420606
DevilDevil
2014-01-22 23:56
2014.08.24
case(switch) под ARM


2-1380406476
Энтони
2013-09-29 02:14
2014.08.24
Вопрос по case of


2-1380648981
Иван
2013-10-01 21:36
2014.08.24
Архивирование Zipforge


15-1390497342
CrashDump
2014-01-23 21:15
2014.08.24
Снова про английский


2-1380524569
Вася
2013-09-30 11:02
2014.08.24
Помогите с арифметикой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский