Съхраняване кодирани дос (866)
Запис в DOS кодиране (866)
Добър ден!
Нямаше нужда да се създадат голям брой бухалка-файл за автоматизиране на инсталацията на Windows. Екипът се срещна с българските букви и след създаването на тези файлове по време на изпълнение на всички български писма превърне в завъртулки. Излишно е да не команда изпълнява :(
Може ли да кажете как да спаси тези файлове в DOS кодиране на българските букви, за да възприемат DOS емулатор на Windows машини?
Преди да ви спести повторното кодиран. AnsiToOem помощ
Софтуер - CharToOem.
Наръчник - шрифтът терминал.
Не, не разбирах правилно. и може би аз не съм съвсем нормално обяснение.
Необходимо е да се направи програма, която създава тези прилепи-файлове се запазват в техния текст, така че текстът на български език е в DOS формат.
За AnsiToOem CharToOem и може да бъде повече, pliz :) И когато имате нужда от файл от DOS формат за кодиране на кодировката на прозорци, винаги използвайте Memo, а след това също трябва да бъде?
Запазване на файл във формат на Windows, а след това да го отворите и повторно кодиране? И след като не можете да посочите формата на файла?
Ами след това отново се кодира българските букви, преди да ги пишете във файл. AnsiToOem и CharToOem поберат - все още нищо. И тогава няма да се налага отново да кодират.
И ако е възможно, повече. Т.е. трябва да създадете променлива от тип String на Чар, а след това се присвоява стойност на поредица български текст, буква по буква а след това прекодиране тази линия към друга с помощта на CharToOem, и едва след това да се запази новата линия във файла?
Да разбирам всичко правилно?
Ако мога да разбера себе си всичко това, че няма да помоли за помощ в този форум :(
Ако има нещо по същество, а след това да ми каже, моля, ръководствата и да помогне на всеки да може да изпратите :)
процедура SaveOemStringToFile (конст S: низ; конст FName: низ);
Var STMP: низ;
започвам
# XA0, ако S = "" след излизане;
# XA0; SetLength (STMP, дължина (S));
# XA0; AnsiToOem (PChar (S), PChar (STMP));
# XA0; с TStringList.Create правя
# XA0; опитате
# XA0; # XA0; Текст: = STMP;
# XA0; # XA0; SaveToFile (FName)
# XA0; накрая
# XA0; # XA0; Свободен
# XA0; край;
приключи;
ALS благодаря за отговора под формата на код :)
Друг въпрос:
Трябва да запишете файла в поредица от линии, както и в този пример, TStringList.Create.SaveToFile (FName) може би няма да бъде заместен се създава всеки път, когато ти се обадя процедура SaveOemStringToFile файла?
За съжаление, може би това Lamer въпроси, но аз съм виждал тези в Делфи и съм :( не кълна много :)
Вие не просто помощ е изпратен, и по-специално референтна точка, която е необходима за четене, а след това може да ви бъде по-критичен назначен за привеждане на кода. Този код е за Win 3.11 и работи на платформа NT само, тъй като поддържа за съвместимост.
И също, особено не се говори за оптималното код.
Всичко е добре, но само AnsiToOem CharToOem и аз нямам в помощ :(
Delphi 7.0
Помощ -> Windows SDK -> Форуми -> CharToOem:
Функцията CharToOem превежда низ в OEM дефиниран набор от символи. (OEM означава производител на оригинално оборудване.) Тази функция отменя функцията AnsiToOem.
# XA0; # XA0; LPCTSTR lpszSrc, // указател към низ да превежда # XA0;
# XA0; # XA0; LPSTR lpszDst # XA0; // указател към преведените низ
# XA0; );
.