powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
18 сообщений из 18, страница 1 из 1
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37121361
Liprikon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста.
У меня есть база написанная на FoxPro 2.6 я хочу запустить её на Visual Foxpro 0.9 , то есть беру основной файл с расширением *.PRG и открываю его с помощью Visual Foxpro 0.9 но как и при открытии так и при запуске этой базы/программы все русские буквы видны как каракули, то есть Visual Foxpro 0.9 не поддерживает ОЕМ_866 ДОС совскую кодировку, как это исправить?

Я уже 3 дня из нета не вылажу не магу найти ответ.
Пробовал менять значения реестра типа

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"
"1254"="c_1251.nls"
"1255"="c_1251.nls"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage значение OEM менял на ANSI] не помогло.

Операционка у меня Microsoft Windows XP Professional вepcия 2002 Service Pack 3 и программа Visual Foxpro 0.9 SP2.
Заранее премного благодарен.
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37121435
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это потому что твои PRG в 866 кодировке, а надо 1251.
Отконвертируй:
Код: plaintext
1.
lcFile = 'MyPrg.prg'
StrToFile(CPconvert( 866 ,  1251 , FileToStr(lcFile)), lcFile)
дважды не запускай для одного файла и перед тем как начнешь - копию исходников сделай на всякий случай.
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37121792
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам по себе файл PRG не имеет никаких признаков кодовых страниц. Как следствие, по умолчанию , он и открывается всегда в текущей кодовой странице среды. В данном случае 1251. Но поскольку он был создан в кодовой странице 866, то и получаем проблемы.

Решить проблему можно 2 способами:

1. Как и написал Dima T сконвертировать содержимое файла из кодовой страницы 866 в кодовую страницу 1251.
2. Явно указать FoxPro, что данный файл следует открывать как созданный в кодовой странице 866. Т.е. чтобы при открытии этого файла FoxPro использовал команду

Код: plaintext
MODIFY COMMAND MyPrg.prg AS  866 

Если файл PRG включен в проект, то это можно сделать в свойствах проекта. Пункт системного меню Project \ Project Info \ закладка Files \ встать на строку с нужным файлом PRG \ правой клавишей мыши вызвать контестное меню \ выбрать пункт CodePage и указать кодовую страницу 866
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37123248
Liprikon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TЭто потому что твои PRG в 866 кодировке, а надо 1251.
Отконвертируй:
Код: plaintext
1.
lcFile = 'MyPrg.prg'
StrToFile(CPconvert( 866 ,  1251 , FileToStr(lcFile)), lcFile)
дважды не запускай для одного файла и перед тем как начнешь - копию исходников сделай на всякий случай.

Я в курсе что можно отконвертировать но тогда при открытии под FoxPro 2.6 всё будет каракулями, поэтому я и спрашивал как добавить поддержку ОЕМ_866 кодировки в Foxрro 9.0?

ВладимирМСам по себе файл PRG не имеет никаких признаков кодовых страниц. Как следствие, по умолчанию, он и открывается всегда в текущей кодовой странице среды. В данном случае 1251. Но поскольку он был создан в кодовой странице 866, то и получаем проблемы. Спасибо буду знать.

Может у кого есть ещё какие идеи просто я гдето слышал что в версии Foxрro 6.0 всё работало поэтому и хотел запустить под Foxрro 9.0 чтоб можно было покопаться в ней, по изучать а то мне очень не удобно в старой версии.
Спасибо за ответы!
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37123275
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Liprikon7Я в курсе что можно отконвертировать но тогда при открытии под FoxPro 2.6 всё будет каракулями, поэтому я и спрашивал как добавить поддержку ОЕМ_866 кодировки в Foxрro 9.0?Не надо ничего никуда добавлять, и так уже есть. И уже сказано как пользоваться. Цитирую:
Код: plaintext
MODIFY COMMAND MyPrg.prg AS  866 
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37123529
Liprikon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey SizovLiprikon7Я в курсе что можно отконвертировать но тогда при открытии под FoxPro 2.6 всё будет каракулями, поэтому я и спрашивал как добавить поддержку ОЕМ_866 кодировки в Foxрro 9.0?Не надо ничего никуда добавлять, и так уже есть. И уже сказано как пользоваться. Цитирую:
Код: plaintext
MODIFY COMMAND MyPrg.prg AS  866 


Да но насколько я понимаю это при условии создания проекта, или я что-то не так понял? а если не так тогда подскажите куда вставлять этот
Код: plaintext
MODIFY COMMAND MyPrg.prg AS  866 
код в этом коде

Код: plaintext
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.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
clear all
close all
clear
@  24 , 0  say ''
run date
clear all
close all
CLEAR
public mkey,regim,zadach,mes,MUL,MDOM,max_p,mpath
mpath='F:\PRO'
set default to &mpath
set decimals to  2 
set scoreboard off
* set step on
set date british
set delete off
set echo off
set talk off
set escape off
SET HOURS TO  24 
SET OPTIMIZE ON
SET STATUS OFF
SET cursor off
set bell on
SET CENTURY ON
push key clear
mkey=''
dimension mes[ 12 ]
store 'Январь' to mes[ 1 ]
store 'Февраль' to mes[ 2 ]
store 'Март  ' to mes[ 3 ]
store 'Апрель' to mes[ 4 ]
store 'Май   ' to mes[ 5 ]
store 'Июнь  ' to mes[ 6 ]
store 'Июль  ' to mes[ 7 ]
store 'Август' to mes[ 8 ]
store 'Сентябрь' to mes[ 9 ]
store 'Октябрь ' to mes[ 10 ]
store 'Ноябрь  ' to mes[ 11 ]
store 'Декабрь ' to mes[ 12 ]
app= 0 
PUBLIC MPOKAZSET
* set step on
mkodd=space( 8 )
*DEFINE WINDOW w4 FROM  1 ,  1  TO  4 ,  50  TITLE "KAЛЬКУЛЯТОР" 
*оN KEY LABEL F1 do calku with  0 
key= 0  
a= 1 
select  1  
use sab shar
 IF FILE('UUDK.IDX')
    DELETE FILE UUDK.IDX
 ENDIF
 IF FILE('UDK.IDX')
    DELETE FILE UDK.IDX
 ENDIF
 IF FILE('LSOLD.IDX')
    DELETE FILE LSOLD.IDX
 ENDIF
 index on lsnew to uudk
 index on substr(lsnew, 2 ) to udk
 index on lsold to lsold
use sab index uudk,udk,lsOLD alias ab excl
reindex
* sele  20 
* use seans alias sssss
* go bottom
* If eof()
*  mseans= 0 
* else 
*  mseans=sssss.seans+ 1 
* endif
* append blank
* replace seans with mseans,dvkl with date(),tvkl with time()
* sele  21 
* use sabmod
sele  1 
* do while !eof()
*   sele  21 
*   append blank
*   replace seans with sssss.seans, ;
*           lsnew with a.lsnew, ;
*           lsold with a.lsold, ;
*           fio with a.fio, ;
*           m2 with a.m2, ;
*           kg with a.kg, ;
*           lgota with a.lgota, ;
*           gw with a.gw, ;
*           sal_h with a.sal_h, ;
*           rgw with a.rgw, ;
*           rotp with a.rotp, ;
*           ropl with a.ropl, ;
*           lscls with a.lscls
*           sele  1 
*           skip
* enddo
* sele  20 
* use
* sele  21 
* use
select  2 
  use sprul 
IF FILE('SPRUL.IDX')
   DELETE FILE SPRUL.IDX
ENDIF

index on str(kod, 2 ) to sprul
  use sprul index sprul alias ul excl
  reindex

sele  3 
use tarif 
IF FILE('TARIF.IDX')
   DELETE FILE TARIF.IDX
ENDIF
index on dtoc(data, 1 ) to tarif
use tarif index tarif excl

sele  4 
use lgot excl
IF FILE('LGOT.IDX')
   DELETE FILE LGOT.IDX
ENDIF
index on kod to lgot
use lgot index lgot excl

sele  5 
use akt  excl
if file('akt.idx')
 delete file akt.Idx
endif
index on str(akt, 4 )+dtoc(dat, 1 ) to akt
use akt index akt excl

sele  6 
use arj index ARJ,arjd excl
* use arj 
* index on lsnew+str(d, 7 , 2 ) to arj
* index on str(d, 7 , 2 )+lsnew to arjd
* use arj index ARJ,arjd

sele  7 
use sch excl
IF FILE('SCH.IDX')
   DELETE FILE SCH.IDX
ENDIF
index on ls to sch
use sch index sch excl

sele  8 
use conf excl

sele  9 
USE SPKVT EXCL
if file('spkvt.idx')
 delete file spkvt.idx
endif  
INDEX ON STR(KOD_U, 3 )+LEFT(DOM, 3 )+STR(val(KV), 3 )+' ' TO SPKVT FOR KOD_U> 0 
if file('spkvtJEK.idx')
 delete file spkvtJEK.idx
endif  
INDEX ON JEk+STR(KOD_U, 3 )+LEFT(DOM, 3 )+STR(val(KV), 3 )+' ' TO SPKVTJEK FOR KOD_U> 0 
USE SPKVT INDEX SPKVT,SPKVTJEK EXCL 

sele  10 
use sabls excl
if file('sabls.idx')
   delete file sabls.idx
endif
if file('sablsLg.idx')
   delete file sablsLg.idx
endif
index on lsnew+str(npp, 2 ) to sabls   
index on lsnew+str(npp, 2 ) to sablsLg  for lgota> 0 
use sabls index sabls,SAblsLg alias sabls excl

sele  11 
use klas excl
if file('klas.idx')
   delete file klas.idx
endif
index on str(kod, 3 ) to klas   
use klas index klas alias kl excl

sele  12 
* use sablsA excl
* if file('sablsA.idx')
*    delete file sablsA.idx
* endif
* index on STR(D, 7 , 2 )+lsnew+str(npp, 2 )+str(lgota, 2 ) to sablsA   
use sablsA index sablsA alias sablsA excl
sele  13 
use sablsAKT excl
 if file('sabls00.idx')
    delete file sabls00.idx
 endif
 if file('sablsAK4.idx')
    delete file sablsAK4.idx
 endif
 if file('sablsAK3.idx')
    delete file sablsAK3.idx
 endif
 index on STR(D, 7 , 2 )+lsnew+STR(YYMM, 7 , 2 )+str(npp, 2 ) to sabls00   
 index on lsnew+str(npp, 2 )+STR(AKT, 4 ) to sablsAK4 for d=conf.dt 
 index on LSNEW+STR(AKT, 4 ) to sablsAK3 FOR D=CONF.DT
use sablsAKT index sabls00,sablsAK4,sablsAK3 alias sablsAKT excl

sele  14 
use sloi excl
if file('sloi.idx')
   delete file sloi.idx
endif
index on str(kod, 3 ) to sloi
use sloi index sloi alias sl excl

sele  25 
use schd excl
if file('schd.idx')
   delete file schd.idx
endif
index on schnom to schd   
use schd index schd alias schd excl

if file('r_arj_d.idx')
   delete file r_arj_d.idx
endif
if file('r_arj.dbf')
   delete file r_arj.dbf
endif
if file('r_sab.idx')
   delete file r_sab.idx
endif
if file('r_sab.dbf')
   delete file r_sab.dbf
endif


SELECT  1 
 DEFINE MENU ab BAR AT LINE  1 
 DEFINE PAD spr    OF ab PROMPT '\<Cправочник '  COLOR SCHEME  3  
 DEFINE PAD oper   OF ab PROMPT '\<Операции   '  COLOR SCHEME  3  
 DEFINE PAD subs   OF ab PROMPT '\<Субсидии   '  COLOR SCHEME  3  
 DEFINE PAD doc    OF ab PROMPT '\<Документы  '  COLOR SCHEME  3  
 DEFINE PAD svod   OF ab PROMPT '\<Свод       '  COLOR SCHEME  3  
 DEFINE PAD serv   OF ab PROMPT '\<Сeрвис     '  COLOR SCHEME  3  
 DEFINE PAD ret    OF ab PROMPT '\<Выход      '  COLOR SCHEME  3  

 ON PAD spr     OF ab  ACTIVATE POPUP spr1
 ON PAD oper    OF ab  ACTIVATE POPUP oper1
 ON PAD subs    OF ab  ACTIVATE POPUP subs1
 ON PAD svod    OF ab  ACTIVATE POPUP svod1
 ON PAD doc     OF ab  ACTIVATE POPUP doc1
 ON PAD serv    OF ab  ACTIVATE POPUP serv1
 ON PAD ret     OF ab  ACTIVATE POPUP ret1 

 DEFINE POPUP Spr1      MARGIN RELATIVE SHADOW COLOR SCHEME  4 
 DEFINE BAR  1  OF spr1 PROMPT  'Улиц     ' 
 DEFINE BAR  2  OF spr1 PROMPT  'Тарифов  ' 
 DEFINE BAR  3  OF spr1 PROMPT  'Льгот    '
 DEFINE BAR  4  OF spr1 PROMPT  'Абонентов 'skip for conf.men= 1 
 DEFINE BAR  5  OF spr1 PROMPT  'Котельных '
 DEFINE BAR  6  OF spr1 PROMPT  'Жеков '
 DEFINE BAR  7  OF spr1 PROMPT  'Нагрузка по домам '
 DEFINE BAR  8  OF spr1 PROMPT  'Справочник предприятий '
 DEFINE BAR  9  OF spr1 PROMPT  'Справочник групп предприятий '
 DEFINE BAR  10  OF spr1 PROMPT  'Справочник счетчиков (домовых) '
 ON SELECTION POPUP spr1 DO choice WITH POPUP(),BAR()

 DEFINE POPUP subs1      MARGIN RELATIVE SHADOW COLOR SCHEME  4 
 DEFINE BAR  1  OF subs1 PROMPT  'Формирование списка' 
 DEFINE BAR  2  OF subs1 PROMPT  'Формирование Лиц.счета'  SKIP
 DEFINE BAR  3  OF subs1 PROMPT  'Ручное формирование субсидий'
 DEFINE BAR  4  OF subs1 PROMPT  'Просмотр полный'
 DEFINE BAR  5  OF subs1 PROMPT  'Просмотр неопред.'
 DEFINE BAR  6  OF subs1 PROMPT  'Печать полный '
 DEFINE BAR  7  OF subs1 PROMPT  'Печать неопределен.'
 DEFINE BAR  8  OF subs1 PROMPT  'Формир.проводок по субс.' SKIP
 DEFINE BAR  9  OF subs1 PROMPT  'Очистить список '
 ON SELECTION POPUP subs1 DO choice WITH POPUP(),BAR()


 DEFINE POPUP oper1      MARGIN RELATIVE SHADOW COLOR SCHEME  4 
 DEFINE BAR  1   OF oper1 PROMPT  ' Ввод квитанций ' 
 DEFINE BAR  2   OF oper1 PROMPT  ' Обработка актов '  skip
 DEFINE BAR  3   OF oper1 PROMPT  ' Пункт Приема Платежей '  
 DEFINE BAR  4   OF oper1 PROMPT  ' Начисления     ' 
 DEFINE BAR  5   OF oper1 PROMPT  ' Доначисления Дом ' skip 
 DEFINE BAR  6   OF oper1 PROMPT  ' Формир.сальдо след.мес.'skip for conf.men= 1 
 DEFINE BAR  7   OF oper1 PROMPT  ' Сверка счетчиков' skip
 DEFINE BAR  8   OF oper1 PROMPT  ' Корректировка'    && skip for conf.men= 1 
 DEFINE BAR  9   OF oper1 PROMPT  ' Список предпринимателей'    && skip for conf.men= 1 
 DEFINE BAR  10  OF oper1 PROMPT  ' Формирование задолженности по месяцам'    
 DEFINE BAR  11  OF oper1 PROMPT  ' Акт Отопление (простой)'    
 DEFINE BAR  12  OF oper1 PROMPT  ' Акт Г/В (Простой)'       
 DEFINE BAR  13  OF oper1 PROMPT  ' Акт Отопление (Замер t)' 
 DEFINE BAR  14  OF oper1 PROMPT  ' Акт Г/В (Замер t)'       
 DEFINE BAR  15  OF oper1 PROMPT  ' Акт доначисл. Г/В (Простой)'   
 DEFINE BAR  16  OF oper1 PROMPT  ' Акт доначисл. Отопление (Простой)'     
 DEFINE BAR  17  OF oper1 PROMPT  ' Формирование сальдо по реструктуризации'    
 DEFINE BAR  18  OF oper1 PROMPT  ' Список должников по реструктур.'    
 
 ON SELECTION POPUP oper1 DO choice WITH POPUP(),BAR()

 DEFINE POPUP doc1      MARGIN RELATIVE SHADOW COLOR SCHEME  4 
 DEFINE BAR  1  OF doc1 PROMPT  ' Карточка абонента  ' 
 DEFINE BAR  2  OF doc1 PROMPT  ' Оборотная Ведомость' 
 DEFINE BAR  3  OF doc1 PROMPT  ' Ведомость Задолжников' 
 DEFINE BAR  4  OF doc1 PROMPT  ' Ведомость Субсидий ' 
 DEFINE BAR  5  OF doc1 PROMPT  ' Протокол изменений ' 
 DEFINE BAR  6  OF doc1 PROMPT  ' Список льготников ' 
 DEFINE BAR  7  OF doc1 PROMPT  ' Обор.ведом.льготники' 
 DEFINE BAR  8  OF doc1 PROMPT  ' Предупреждения'
 DEFINE BAR  9  OF doc1 PROMPT  ' Список работников ЛТС'
 DEFINE BAR  10  OF doc1 PROMPT  'Списки работников по другим организациям'
 DEFINE BAR  11  OF doc1 PROMPT  'Списки по наториальным надписям'
 DEFINE BAR  12  OF doc1 PROMPT  'Списки по наториальным надписям текущий месяц'
 DEFINE BAR  13  OF doc1 PROMPT  'АНАЛИЗ РАБОТЫ УЧАСТКОВ'
 DEFINE BAR  14  OF doc1 PROMPT  'АНАЛИЗ РАБОТЫ с договорниками'
 DEFINE BAR  15  OF doc1 PROMPT  'Изменение участка'
 DEFINE BAR  16  OF doc1 PROMPT  'Список на ГорГаз(опломбировка)'
 DEFINE BAR  17  OF doc1 PROMPT  'Список на ГорГаз(разпломбировка)'
 DEFINE BAR  18  OF doc1 PROMPT  'Реестр актов Отопление (простой)'
 DEFINE BAR  19  OF doc1 PROMPT  'Реестр актов Г\в (простой)'
 DEFINE BAR  20  OF doc1 PROMPT  'Реестр актов Отопление (Замер t)'
 DEFINE BAR  21  OF doc1 PROMPT  'Реестр актов Г\в (Замер t)'
 DEFINE BAR  22  OF doc1 PROMPT  'Реестр УTСЗН по отопл. '
 DEFINE BAR  23  OF doc1 PROMPT  'Справка о размерах платежей '
 DEFINE BAR  24  OF doc1 PROMPT  '(new) Справка о размерах платежей '
 DEFINE BAR  25  OF doc1 PROMPT  'Реестр УTСЗН по Г\В '
 DEFINE BAR  26  OF doc1 PROMPT  'Реестр актов донач. Отопление (простой)'
 DEFINE BAR  27  OF doc1 PROMPT  'Реестр актов донач. Г\в (простой)'
 DEFINE BAR  28  OF doc1 PROMPT  'Свод по закрытым абонентам с разбивкой'    
 DEFINE BAR  29  OF doc1 PROMPT  'Свод по открытым абонентам с разбивкой'   
 DEFINE BAR  30  OF doc1 PROMPT  'Отчет по слоям населения '   
 DEFINE BAR  31  OF doc1 PROMPT  'Список по текущим платежам 6 участка'   
 ON SELECTION POPUP doc1 DO choice WITH POPUP(),BAR()

 DEFINE POPUP svod1      MARGIN RELATIVE SHADOW COLOR SCHEME  4 
 DEFINE BAR  1  OF svod1 PROMPT  ' По Льготникам ' 
 DEFINE BAR  2  OF svod1 PROMPT  ' По Начислению ' 
 DEFINE BAR  3  OF svod1 PROMPT  ' Сводная ведомость по домам '
 DEFINE BAR  4  OF svod1 PROMPT  ' Справка по льготникам ' skip
 DEFINE BAR  5  OF svod1 PROMPT  ' По Оплате ' 
 DEFINE BAR  6  OF svod1 PROMPT  ' Задолженость по участкам ' 
 DEFINE BAR  7  OF svod1 PROMPT  ' Ведомость по котельным ' 
 DEFINE BAR  8  OF svod1 PROMPT  ' Ведомость по жекам ' 
 DEFINE BAR  9  OF svod1 PROMPT  ' Задолж.с разб.по периодам' 
 DEFINE BAR  10  OF svod1 PROMPT  ' Сводная ведомость по улицам' 
 DEFINE BAR  11  OF svod1 PROMPT  ' Сводный реестр по актам' 
 DEFINE BAR  12  OF svod1 PROMPT  ' Сводный реестр квартир, откл.от ЦО,подкл.к ЦО' 
 DEFINE BAR  13  OF svod1 PROMPT  ' Сводный реестр квартир, установивших счетчик Г\в' 
 DEFINE BAR  14  OF svod1 PROMPT  ' Сводный реестр квартир по Лиссоде' 
 ON SELECTION POPUP svod1 DO choice WITH POPUP(),BAR()

 DEFINE POPUP serv1 MARGIN RELATIVE SHADOW COLOR SCHEME  4 
 DEFINE BAR  1  OF serv1 PROMPT 'Сохран.в архиве журнала операций '
 DEFINE BAR  2  OF serv1 PROMPT 'Поиск пачки по лиц.счету '
 DEFINE BAR  3  OF serv1 PROMPT 'Переиндексация баз '
 DEFINE BAR  4  OF serv1 PROMPT 'Удержание с З/П 308 вид' skip for conf.men= 1 
 DEFINE BAR  5  OF serv1 PROMPT 'Формирование пачки по удерж. с З/П ' skip for conf.men= 1  
 DEFINE BAR  6  OF serv1 prompt 'Отчет по оплате'  skip for conf.men= 1 
 DEFINE BAR  7  OF serv1 PROMPT 'ФОРМИРОВАНИЕ ПАЧЕК ПО СУБСИДИЯМ ' skip for conf.men= 1 
 DEFINE BAR  8  OF serv1 PROMPT 'ФОРМИРОВАНИЕ ОПЛАТЫ ' skip for conf.men= 1 
 DEFINE BAR  9  OF serv1 PROMPT 'Cписок неопределенных субсидий '
 DEFINE BAR  10  OF serv1 PROMPT 'Cверка лицевых счетов с отделом субсидий'
 DEFINE BAR  11  OF serv1 PROMPT 'Печать списка удерж.с з/п по участкам'
 DEFINE BAR  12  OF serv1 PROMPT 'Список задолжников по домам'
 DEFINE BAR  13  OF serv1 PROMPT 'Печать пачки по оплате'
 DEFINE BAR  14  OF serv1 PROMPT 'Тепловые нагрузки по домам'
 DEFINE BAR  15  OF serv1 PROMPT 'Формирование списков по другим предприятиям'
 DEFINE BAR  16  OF serv1 PROMPT 'Сверка с паспортным столом'
 DEFINE BAR  17  OF serv1 PROMPT 'Миграция населения'
 DEFINE BAR  18  OF serv1 PROMPT 'Формирование отчета для УTСЗН'
 DEFINE BAR  19  OF serv1 PROMPT 'Перенос данных по закл.договорам'
 DEFINE BAR  20  OF serv1 PROMPT 'Перенос данных по слоям'

 ON SELECTION POPUP serv1 DO choice WITH POPUP(),BAR()

 DEFINE POPUP ret1 MARGIN RELATIVE SHADOW COLOR SCHEME  4 
 DEFINE BAR  1  OF ret1 PROMPT '  DOS '
 DEFINE BAR  2  OF ret1 PROMPT 'FOXPRO'
 ON SELECTION POPUP ret1 DO choice WITH POPUP(),BAR()
 
 
DO WHILE a> 0 
 @  0 , 0  clear to  24 , 80  
 @  3 , 0  SAY "     ╔═╦╗ ╔╗    ╔╗ ╔════╗                            ╔════╗ ╔════╗ ╔════╗ ╔╗   " 
 @  4 , 0  SAY "    ╔╣ ║║ ║║   ╔╣║ ║╔══╗║                            ║╔══╗║ ║╔═══╝ ╚═╗╔═╝ ║║   " 
 @  5 , 0  SAY "  ╔╦╩╝ ║║ ║║   ║║║ ║║  ║║                            ║║  ║║ ║║       ║║   ║║   " 
 @  6 , 0  SAY " ╔╬╝   ║║ ║║  ╔╝║║ ║║  ╚╝                            ║║  ╚╝ ║║       ║║   ║║   "    
   @  7 , 0  SAY " ║║    ║║ ║║  ║ ║║ ║║                                ║║     ║║       ║║   ║║   " 
 @  8 , 0  SAY " ║║    ║║ ║║ ╔╝ ║║ ║║                                ║║     ║╠═╗     ║║   ║╚══╗" 
 @  9 , 0  SAY " ║║    ║║ ║║ ║  ║║ ║║                                ║║     ║╠═╝     ║║   ║╔═╗║" 
 @  10 , 0  SAY " ║║    ║║ ║║╔╝  ║║ ║║      ══╦══ ╔══ ╔══╗   ╔╗ ╔══╗  ║║     ║║       ║║   ║║ ║║" 
 @  11 , 0  SAY " ║║    ║║ ║║║   ║║ ║║        ║   ║   ║  ║  ╔╝║ ║  ║  ║║     ║║       ║║   ║║ ║║" 
 @  12 , 0  SAY " ║║    ║║ ║╠╝   ║║ ║║  ╔╗    ║   ╠╣  ║  ║ ╔╝ ║ ║  ║  ║║  ╔╗ ║║       ║║   ║║ ║║" 
 @  13 , 0  SAY " ║║    ║║ ║║    ║║ ║╚══╝║    ║   ║   ║  ║ ║  ║ ║  ║  ║╚══╝║ ║╚═══╗   ║║   ║╚═╝║" 
 @  14 , 0  SAY " ║║    ║║ ║║    ║║ ╚════╝    ║   ╚══ ║  ║ ║  ║ ╚══╝  ╚════╝ ╚════╝   ╚╝   ╚═══╝" 
 @  3 , 27  SAY "АРМ АБОНЕНТСКИЙ ОТДЕЛ" 
 @  4 , 27  SAY "СП Лисичансктеплосеть" 
 @  5 , 27  SAY "                     " 
 @  6 , 27  SAY "по состоянию на "+str(conf.dt, 7 , 2 )
 zadach= 0 
 ACTIVATE MENU ab

 DEACTIVATE MENU ab
 if zadach> 0 
  regim=regim+alltrim(str(zadach, 2 ))
  do &regim
 endif
enddo  
************************* Проверка целосности программного обеспечения
*close all
*clear all
return 
*************
proc ret11
flush
hide POPUP all
hide MENU all
hide WIND all
* activate SCREEN
* clear
* defi wind ZAST from  8 ,  80  to  14 ,  115  nogrow nofloat noclose nozoom;
*      shadow double color N/W,N/W
*      acti wind ZAST
*      m0 = 'СПАСИБО ЗА РАБОТУ!'
*      m1 = 'ВСЕГО  ХОРОШЕГО!'
*      @  1 ,  8  get m0
*      @  3 ,  9  get m1
*clear gets
*   for i =  1  to  60 
*       move wind ZAST by  0 ,- 1 
* endfor
*       s_i = inkey( 0 . 5 )
*sele  1 
*set order to  1 
*sele  20 
*use seans alias sssss
*go bottom
*replace dvikl with date(),tvikl with time()
*mseans=seans
*use
*sele  21 
*use sabmod excl
*if file('sabMod.idx')
*   delete file sabmod.idx
*endif
*index on lsnew to sabmod for seans=mseans   
*
*do while !eof()
*   if seek(lsnew, 1 )
*      replace plsold with a.lsold,;
*           pfio with a.fio,;
*           pm2 with a.m2,;
*           pkg with a.kg,;
*           plgota with a.lgota,;
*           pgw with a.gw,;
*           psal_h with a.sal_h,;
*           prgw with a.rgw,;
*           protp with a.rotp,;
*           propl with a.ropl,;
*           plscls with a.lscls
*           if (plsOld=lsOld) and (pfio=fio) and (pm2=m2) and (pkg=kg) and ;
*              (plgota=lgota) and (pgw=gw) and (psal_h=sal_h) and (prgw=rgw) and ;
*              (protp=rotp) and (propl=ropl) and (plscls=lscls)
*              delete
*           endif
*      endif
*      skip   
*enddo
*pack
QUIT
***********
proc ret12
 RELEASE MENU osmenu EXTENDED
 *SET SYSMENU TO DEFAULT
 ON KEY LABEL ESC
 pop key
 a= 0 
* do restInd with  0 
* close all
return
 
PROCEDURE choice
PARAMETERS mprompt, mpopup
regim=mprompt
zadach=mpopup

Спасибо.
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37123586
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Liprikon7Я в курсе что можно отконвертировать но тогда при открытии под FoxPro 2.6 всё будет каракулями, поэтому я и спрашивал как добавить поддержку ОЕМ_866 кодировки в Foxрro 9.0?
Добавь в CONFIG.FPW строчку
CONFIG.FPWcodepage=866
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37124218
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по вопросу о Modify Command и проекте Вы вообще никогда раньше не программировали на FoxPro. В среде FoxPro есть такая "штука" называется "командное окно". Это специальное окошко, которое открывается сразу при открытии среды FoxPro. В этом окошке можно писать команды FoxPro и при нажатии Enter та команда на которой стоял указатель будет выполнена. Вот в этом окне и можно дать команду

Код: plaintext
MODIFY COMMAND MyProg.prg AS  866 

Можно открыть файл PRG и через системное меню File - Open. Если в открывшемся окне выбрать тип файла "Programm", то справа появится дополнительная кнопка CodePage. Нажимайте ее и выбирайте кодовую страницу 866.

Файл проекта просто позволяет "запомнить" все эти манипуляции по поиску файла в дереве каталогов и указанию кодовой страницы

Но вообще-то, исправлять программу надо в той среде, где она и будет работать. Т.е. приложение FoxPro for DOS надо и редактировать в среде FoxPro for DOS. Банально в старших версиях ввели новые команды, которые вызовут ошибку в младших версиях.

Т.е., по большому счету, Вы зря тратите время. Вам надо либо писать приложение заново, либо исправлять в той среде, где оно было создано. Попытка модификации из старшей версии младшую - это создание себе очень больших проблем. Я бы не советовал Вам этим заниматься...
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37124235
Liprikon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TLiprikon7Я в курсе что можно отконвертировать но тогда при открытии под FoxPro 2.6 всё будет каракулями, поэтому я и спрашивал как добавить поддержку ОЕМ_866 кодировки в Foxрro 9.0?
Добавь в CONFIG.FPW строчку
CONFIG.FPWcodepage=866

У меня такого файла в папке с базой не было, я его создал и кинул в папку, не помогло.
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37124253
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Liprikon7У меня такого файла в папке с базой не было, я его создал и кинул в папку, не помогло.В папку с базой? А не в папку с программой? Этот файлик, в общем-то, нужен програме, а не данным.
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37124338
Liprikon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМСудя по вопросу о Modify Command и проекте Вы вообще никогда раньше не программировали на FoxPro. В среде FoxPro есть такая "штука" называется "командное окно". Это специальное окошко, которое открывается сразу при открытии среды FoxPro. В этом окошке можно писать команды FoxPro и при нажатии Enter та команда на которой стоял указатель будет выполнена. Вот в этом окне и можно дать команду

Код: plaintext
MODIFY COMMAND MyProg.prg AS  866 

Можно открыть файл PRG и через системное меню File - Open. Если в открывшемся окне выбрать тип файла "Programm", то справа появится дополнительная кнопка CodePage. Нажимайте ее и выбирайте кодовую страницу 866.

Файл проекта просто позволяет "запомнить" все эти манипуляции по поиску файла в дереве каталогов и указанию кодовой страницы

Но вообще-то, исправлять программу надо в той среде, где она и будет работать. Т.е. приложение FoxPro for DOS надо и редактировать в среде FoxPro for DOS. Банально в старших версиях ввели новые команды, которые вызовут ошибку в младших версиях.

Т.е., по большому счету, Вы зря тратите время. Вам надо либо писать приложение заново, либо исправлять в той среде, где оно было создано. Попытка модификации из старшей версии младшую - это создание себе очень больших проблем. Я бы не советовал Вам этим заниматься...

Не знаю почему но так как вы говорите не получилось, да и это теперь не столь важно рас уж вы говорите что накроется вся система.
Я просто в свободное время вместо газет люблю поковырять Visual FoxPro 9.0 он будет по проще чем FoxPro 2.6 или мне так кажется, может это страх перед грозным FoxPro 2.6 и незнанием горячих клавиш и команд а так хотелось в среде Visual Foxpro 0.9 наваять программульку для выборки нужных данных, в общем спасибо всем за ответы буду дальше выдумывать.;-)))
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37124344
Liprikon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey SizovLiprikon7У меня такого файла в папке с базой не было, я его создал и кинул в папку, не помогло.В папку с базой? А не в папку с программой? Этот файлик, в общем-то, нужен програме, а не данным.
Я и туда и туда кидал чот не хочет.
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37124387
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Liprikon7Sergey Sizovпропущено...
В папку с базой? А не в папку с программой? Этот файлик, в общем-то, нужен програме, а не данным.
Я и туда и туда кидал чот не хочет.
Файл CONFIG.FPW ищется в рабочей папке на момент запуска.
Посмотри какая папка рабочая указана в ярлыке которым ты фокс запускаешь.
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37124413
Liprikon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TLiprikon7пропущено...

Я и туда и туда кидал чот не хочет.
Файл CONFIG.FPW ищется в рабочей папке на момент запуска.
Посмотри какая папка рабочая указана в ярлыке которым ты фокс запускаешь.
Вы меня не до поняли, сути вопроса, мне надо было не через ярлык а непосредственно с программы Visual Foxpro 0.9 открыть (фаил\открыть) но всё же спасибо за старания.
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37124639
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Liprikon7, проверил, действительно не работает. Портит проекты 1251, но 866 не показывает правильно.

Тогда остается мой первый вариант.
Код: plaintext
1.
lcFile = 'MyPrg.prg'
StrToFile(CPconvert( 866 ,  1251 , FileToStr(lcFile)), lcFile)
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37125129
kd111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мож config.fpw компильнуть надо?
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37125204
Liprikon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да ладно ребят не старайтесь я уже забросил эту затею, я пока не определился как мне лучше выйти из поставленной задачи.
Мне в принципе без разницы на чём писать главное чтобы к базе можно было подключится, сейчас рассматриваю вариант через Borland Delphi 7 может что путное и выйдет, запросы у меня не большие, так пару форм для отчётов. Тем более как вы заметили я в языках профан поэтому мне без разницы с чего начинать, и на чём писать.
Спасибо за помощь.
...
Рейтинг: 0 / 0
Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
    #37127169
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Liprikon7 , вы бы еще на Forth предложили работать с БД...

Вообще, приведённый вами исходник можно было запросто руками исправить.
С другой стороны, судя по нему, разработчик приложения даже не слышал о VIEW в FPD 2.xx.
С третьей стороны - если вы действительно хотите такого же функционала - проще переписать приложение.

P.S. Фраза насчёт "9.0 проще 2.6" порадовала
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как добавить ОЕМ_866 кодировку в Visual Foxpro 0.9?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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