powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / напомнить о прошлом
8 сообщений из 8, страница 1 из 1
напомнить о прошлом
    #32239676
RVZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RVZ
Гость
Столкнулся с ПЭВМ ИСКРА-1030. Старая программа на FOXе. После переноса на нормальный компьютер - русские буквы отображаются псевдографикой. Может кто-то вспомнит - что необходимо сделать для нормальной работы?
...
Рейтинг: 0 / 0
напомнить о прошлом
    #32239765
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая 1030? Их было как минимум две - 1030.M и 1030.11...
В принципе их можно считать клоном Intel 8086, если не одно отличие - у них использовалась свая кодовая таблица, отличная от 866 - руские буквы шли подряд, без разрыва, в отличии от стандантной мелкософтовской. Причем это было реализовано на апаратном уровне - драйверами там не поможешь. В какойто из них таблица была зашита жестко, в какойто могла переключатся между советской ГОСТ-овской, стандартной досовской и болгарской.

Вот такая теория... Теперь к практике - если есть исходные тексты - перекодировать их из ГОСТ-овской таблицы в стандартную DOS-овскую. К сожалению расположения кодов не помню и программ перекодировки тоже:( Если исходных кодов нет то или декомпилировать ее тоем же ReFox-ом или загрузить винде драйвер поддерживающий ГОСТ-овскую раскладку. Например такой легко можно сделать из KeyRus-а
...
Рейтинг: 0 / 0
напомнить о прошлом
    #32239790
Равиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Искру не застал, но если она у Вас доступна, то можно попробовать перетранслировать Ваши таблицы с помощью CHRTRANS() так:

На Искре набрать в каком-нибудь редакторе цепочку символов:
"йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ" сохранить в файле и переписать на "нормальный"

На "нормальном" открыть этот файл, в FoxPro для DOS создать функцию:
FUNC Iskra_IBM
PARA m.pole
IF Type("m.pole")="C"
RETU CHRTRANS(m.pole,"здесь_скопированная_из _Искры_псевдографика", "йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ")
ELSE
RETU m.pole
ENDIF

Затем открывать все таблицы и делать REPL ALL для всех текстовых полей:
REPL ALL Текстовое_поле WITH Iskra_IBM(Текстовое_поле)
...
Рейтинг: 0 / 0
напомнить о прошлом
    #32239809
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Равиль, Врядли это DOS-овский FoxPro Искра это даже не 286 а просто 86 процессор. Так что это скорее всего еще FoxBASE, и открыв его таблицы FP можно их поломать - заголовки отличаются. Перекодировать лучше внешней програмой, которая просто поменяет символы во второй половине кодовой таблицы, не обращая внимание DBF это или PRG (IDX и FPX обрабатывать не стоит) Ну а способ определения соответствий символов ты предлогаешь правильный...
...
Рейтинг: 0 / 0
напомнить о прошлом
    #32239828
Равиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Burn, по вопросу я подумал, что таблицы открываются нормально.
Другой вариант, если вдруг Искра "не сохранилась", то исходя из Вашей информации о последовательном расположении символов, можно по контексту найти соответствие Искровскому "А", а затем постороить соответствующие две цепочки в алфавитном порядке и также CHRTRANS :)
...
Рейтинг: 0 / 0
напомнить о прошлом
    #32239860
Равиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри меня плиз опять. Я не сразу понял, о какой "внешней" программе идет речь. Конечно Вы правы. Честно говоря не знаю, а FoxBase лепил EXE?
Кстати у меня опечатка: CHRTRANS -> CHRTRAN
...
Рейтинг: 0 / 0
напомнить о прошлом
    #32240151
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>FoxBase лепил EXE?
Нет:( И APP еще создавать не мог и файла проэкта не было... Рабочая программа это россыпь откомпилированых PRG-ек с расширением FRX (если не ошибаюсь)

Нашел кодировку - называется Основная кодировка ГОСТа (нормальная - Альтернативная кидировка ГОСТа:)), русские буквы лежат с 176(А) по 207(Я) - большие и с 208(а) по 239(я) - маленькие, 240-Ё, 241-ё
Псевдографика лежит с 128 по 175, причем в другом порядке.

А автор задал вопрос и притаился:)

Кстати, непонятно что нужно автору - перекодировать таблицы, исходные тексты или всю программу. И что такое нормальный компьтер? Я знаю людей для которых нормальный копьютер это Крей или на крайний счет AS400:)
...
Рейтинг: 0 / 0
напомнить о прошлом
    #32240991
RVZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RVZ
Гость
Ребята, спасибо за ответы. Я не притаился - тоже искал ответ.

>Кстати, непонятно что нужно автору - перекодировать таблицы, исходные тексты или всю программу. И что такое нормальный компьтер? Я знаю людей для которых нормальный копьютер это Крей или на крайний счет AS400

1. исходный компьютер - ИСКРА-1030.11
2. "Нормальный" компьютер - любой, начиная с AT 286
3. Необходимо было перекодировать и таблицы, и откомпилированные файлы (.FOX)

Решение нашел такое:
- c помощью Refox'a - восстановил исходники
- с помощью blin3.exe тексты программ перекодировал с альтернативной в основную кодировку
- таблицы были скопированы с помощью COPY TO _file DELIMITED в отдельный файлы, которые были также перекодированы и восстановлены через APPEND.

Еще раз спасибо!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / напомнить о прошлом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]