On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 2
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 19.03.10 12:09. Заголовок: Помогите пожалуйста!


Здраствуйте! Очень нужна помощь, нужно написать программку Калькулятор на языке программирования Clipper, буду очень благодарен:
Написать процедуру "Калькулятор", которая вызывается клавишей <F3>. Калькулятор должен выполнять 4 арифмитических действия. В нем должно быть окошко, куда вводятся числа и где отображается результат вычислений
-----------
| 50.10 |
-----------


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 64 , стр: 1 2 3 4 All [только новые]


moderator




Пост N: 21
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.03.10 14:43. Заголовок: apposs пишет: нужно..


apposs пишет:

 цитата:
нужно написать программку Калькулятор на языке программирования Clipper


Рабочий пример из старой коллекции для Клиппера 5-й версии и выше:

 цитата:
#include "inkey.ch"

PROCEDURE Main()

PRIVATE calc_str := SPACE(255)
PRIVATE back_shad := "W/N"
set scor off
setcolor("w/bg+")
clear
Calcit()


RETURN

******************
PROCEDURE Calcit()
LOCAL l_eft:=SETKEY(K_LEFT,),r_ight:=SETKEY(K_RIGHT,)
SETKEY(K_ALT_F1,)
PARA cBack_shad,is_load_font
PRIVATE x_pos:=1,y_pos:= 1
PRIVATE sav_screen,ss,st,a,str_tmp,flag,flag_err,buf,scol
PRIVATE fl_mem,help_old,col_mn
PRIVATE ss11, cc

*************************************************************************
** Начальные установки **
*************************************************************************
cc:= SETCURSOR() && Сохранить курсор

sav_screen:=SAVESCREEN() && Сохранить экран
SETCANCEL(.F.)
col_mn:=SETCOLOR()

**help_old = name_hlp
**name_hlp = "calculator"

ss :=0.0
st := " "
flag_err:= 0
flag := 0
fl_mem := 0

INI_CALC(is_load_font)

WHILE LASTKEY() <> 27

IF LEN_TRIM(calc_str) = 0
calc_str := "0"+SPACE(253)
ENDIF

SET COLOR TO +GR/BG
SET CURSOR ON
calc_str := MEMOEDIT(CALC_STR,2+y_pos, 2+x_pos, 2+y_pos, 22+x_pos, .T. ,"press_d", LEN(calc_str) )
SET CURSOR OFF

IF flag = 1 && ВЫЧИСЛЕНИЕ ВЫРАЖЕНИЯ
st := STRTRAN(calc_str,"Н"," ")
st := STRTRAN(st,chr(10)," ")
st := STRTRAN(st,chr(13)," ")
st := STRTRAN(st,"="," ")
st := ALLTRIM(st)

st:=STRTRAN(st,"%","/100*")
st_1 := SUBSTR(st,1,1) && ОЦЕНКА ПЕРВОГО СИМВОЛА СТРОКИ
IF (st_1 >= "0" .and. st_1 <= "9") .or. st_1 = "+" .or. st_1 = "-" .or. st_1 = "("
ss := &st && ВЫЧИСЛЕНИЕ
ELSE
flag_err := 1 && ОШИБКА
ENDIF

IF flag_err = 0 && ЕСЛИ ОШИБКИ ВЫЧИСЛЕНИЯ НЕТ

str_tmp:=ALLTRIM(STR(ss))
calc_str := ALLTRIM(STR(ss))+SPACE(255-LEN(str_tmp))
flag := 0


&& ----------- ОБРАБОТКА ОШИБКИ ВЫРАЖЕНИЯ --------------
ELSE

buf:=SAVESCREEN(2+y_pos, 2+x_pos, 2+y_pos, 22+x_pos)

scol := SETCOLOR()
SET COLOR TO *+GR/BG
@ 2+y_pos, 2+x_pos SAY " Error! Press space. "
INKEY(10)
flag_err := 0

SETCOLOR(scol)
calc_str := st + SPACE(255-LEN(st))
RESTSCREEN(2+y_pos, 2+x_pos, 2+y_pos, 22+x_pos,buf)
ENDI
ENDI

IF flag = 2 && ВЫЧИСЛЕНИЙ НЕ ТРЕБУЕТСЯ, ОЧИСТКА СТРОКИ
calc_str := SPACE(255)
flag := 0
ENDI


IF flag = 3 && вывести выражение из памяти на дисплей
calc_str := calc_mem
flag := 0
ENDIF

IF flag = 4 && ЗАПИСЬ ВЫРАЖЕНИЯ В ПАМЯТЬ
st := STRTRAN(calc_str,"Н"," ")
st := STRTRAN(st,chr(10)," ")
st := STRTRAN(st,chr(13)," ")
st := STRTRAN(st,"="," ")
st:=ALLTRIM( st )
calc_mem := st + SPACE(255 - LEN(st) )
flag := 0
fl_mem := 1
ENDI

IF flag = 5 && сложить выражения в памяти
st := STRTRAN(calc_str,"Н"," ")
st := STRTRAN(st,chr(10)," ")
st := STRTRAN(st,chr(13)," ")
st := STRTRAN(st,"="," ")
st:=ALLTRIM( st )

st1 := STRTRAN(calc_mem,"Н"," ")
st1 := STRTRAN(st1,chr(10)," ")
st1 := STRTRAN(st1,chr(13)," ")
st1 := STRTRAN(st1,"="," ")
st1:=ALLTRIM( st1 )

calc_mem := st1 + " + " + st
calc_mem := calc_mem + SPACE(255 - LEN(calc_mem) )
flag := 0
fl_mem := 1
ENDI

IF flag = 6 && вычесть выражения в памяти
st := STRTRAN(calc_str,"Н"," ")
st := STRTRAN(st,chr(10)," ")
st := STRTRAN(st,chr(13)," ")
st := STRTRAN(st,"="," ")
st:=ALLTRIM( st )

st1 := STRTRAN(calc_mem,"Н"," ")
st1 := STRTRAN(st1,chr(10)," ")
st1 := STRTRAN(st1,chr(13)," ")
st1 := STRTRAN(st1,"="," ")
st1:=ALLTRIM( st1 )

calc_mem := st1 + " - " + st
calc_mem := calc_mem + SPACE(255 - LEN(calc_mem) )
flag := 0
fl_mem := 1
END
END



**name_hlp = help_old

REST SCRE FROM sav_screen
SETCOLOR(col_mn)
SETCANCEL(.T.)
SETCURSOR(cc)
CLEA TYPE
SETKEY(K_LEFT,l_eft)
SETKEY(K_RIGHT,r_ight)
SETKEY(K_ALT_F1,{||CALCIT()})
RETURN

**********************************************************************
** ОБРАБОТКА ЦИФРОВЫХ КЛАВИШ **
**********************************************************************
FUNCTION PRESS_D
PARAMETERS mode,line,col
PRIVATE col1,x1,y1,xx,yy,ch,ss_key

x1 := 0
y1 := 0
xx := 0
yy := 0
IF mode = 3
SET COLOR TO +GR/BG
SET CURSOR ON
RETU 0
ENDI
key := LASTKEY()

IF key = 5 .or. key = 24
CLEAR TYPEAHEAD
KEY := 13
ENDIF

IF key = 27
key := 13
ENDIF

********************************************************
** ПЕРЕМЕЩЕНИЕ КАЛЬКУЛЯТОРА **
********************************************************
IF key = 408 .or. key = 416 .or. key = 411 .or. key = 413 .or. key = 407 .or. key = 415 .or. key = 409 .or. key = 417

ss11:=SAVESCREEN(y_pos,x_pos,13+y_pos, 41+x_pos)
REST SCRE FROM sav_screen

DO CASE
CASE key = 408 && up
IF y_pos - 1 >= 0
y_pos := y_pos - 1
ENDIF
CASE key = 416 && doun
IF y_pos + 2 + 13 <= 24
y_pos := y_pos + 1
ENDIF
CASE key = 411 && left
IF x_pos - 1 >= 0
x_pos := x_pos - 1
ENDIF
CASE key = 413 && right
IF x_pos + 2 + 41 <= 79
x_pos := x_pos + 1
ENDIF
CASE key = 407 && HOME
x_pos := 0
y_pos := 0
CASE key = 415 && END
x_pos := 79 - 41-1
y_pos := 24 - 13-1
CASE key = 409 && pgup
y_pos := 0
CASE key = 417 && pgdn
y_pos := 24 - 13 -1
ENDCASE



KEYBOARD CHR(23)
RESTSCREEN(y_pos,x_pos,13+y_pos, 41+x_pos,ss11)

COLORWIN(14+y_pos,1+x_pos,14+y_pos, 42+x_pos,"N+/N")
COLORWIN(1+y_pos,42+x_pos,14+y_pos, 42+x_pos,"N+/N")

ENDI


col1 := SETCOLOR()
SET COLOR TO +BG/BG
@ 1+y_pos, 19+x_pos SAY col PICTURE "999"

IF fl_mem = 1
@ 1+y_pos, 3+x_pos SAY "M"
ENDI




DO CASE

******************************************
** цифровая клавиатура **
******************************************

CASE key = 48
y1 := 9+y_pos
x1 := 1+x_pos
ch := '0'
CASE key = 49
y1 := 9+y_pos
x1 := 5+x_pos
ch := '1'
CASE key = 50
y1 := 9+y_pos
x1 := 9+x_pos
ch := '2'
CASE key = 51
y1 := 9+y_pos
x1 := 13+x_pos
ch := '3'
CASE key = 52
y1 := 9+y_pos
x1 := 17+x_pos
ch := '4'
CASE key = 53
y1 := 9+y_pos
x1 := 21+x_pos
ch := '5'
CASE key = 54
y1 := 9+y_pos
x1 := 25+x_pos
ch := '6'
CASE key = 55
y1 := 9+y_pos
x1 := 29+x_pos
ch := '7'
CASE key = 56
y1 := 9+y_pos
x1 := 33+x_pos
ch := '8'
CASE key = 57
y1 := 9+y_pos
x1 := 37+x_pos
ch := '9'



****************************************
** арифметические действия **
****************************************

CASE key = 42
y1 := 5+y_pos
x1 := 1+x_pos
ch := '*'
CASE key = 47
y1 := 5+y_pos
x1 := 5+x_pos
ch := '/'
CASE key = 43
y1 := 5+y_pos
x1 := 9+x_pos
ch := '+'
CASE key = 45
y1 := 5+y_pos
x1 := 13+x_pos
ch := '-'
CASE key = 46
y1 := 5+y_pos
x1 := 17+x_pos
ch := '.'
CASE key = 40
y1 := 5+y_pos
x1 := 21+x_pos
ch := '('
CASE key = 41
y1 := 5+y_pos
x1 := 25+x_pos
ch := ')'
CASE key = 37
y1 := 5+y_pos
x1 := 29+x_pos
ch := '%'
CASE key = 61
y1 := 5+y_pos
x1 := 33+x_pos
ch := '='



***************************************
** сброс **
***************************************


CASE key = 302
y1 := 5+y_pos
x1 := 37+x_pos
ch := 'C'

***************************************
** работа с памятью **
***************************************

&& ЗАПИСЬ В ПАМЯТЬ
CASE key = 273
y1 := 1+y_pos
x1 := 25+x_pos
ch := 'W'

&& ЧТЕНИЕ ИЗ ПАМЯТИ
CASE key = 275
y1 := 1+y_pos
x1 := 29+x_pos
ch := 'R'

&& сложить в ПАМЯТИ
CASE key = 387 .or. key = 334
y1 := 1+y_pos
x1 := 33+x_pos
ch := '+'

&& вычесть в ПАМЯТИ
CASE key = 386 .or. key = 330
y1 := 1+y_pos
x1 := 37+x_pos
ch := '-'

ENDCASE


IF (key >= 48 .and. key <= 57) .or. (key >= 40 .and. key <= 43) .or. ;
(key >= 45 .and. key <= 47) .or. key = 37 .or. key = 61 .or. key = 302 ;
.OR. key = 273 ;
.OR. key = 275 ;
.or. key = 387 .or. key = 334 .or. key = 386 .or. key = 330


yy := y1+3
xx := x1+4

ss_key := SAVESCREEN(Y1,X1,YY,XX)

SET COLOR TO W/W
@ Y1,X1,Y1+3,X1+3 BOX " "


SET COLOR TO +BG/W

IF (key >= 48 .and. key <= 57)
@ y1, x1, y1+2, x1+2 BOX "--¬¦--L¦ "
@ y1+1,x1+1 SAY ch PICTURE "X"
TONE(150,1)
ENDI

IF (key >= 40 .and. key <= 43) .or. (key >= 45 .and. key <= 47) .or. key = 302 .or. key = 37 .or. key = 61
@ y1, x1, y1+2, x1+2 BOX "-=¬¦-=L¦"
@ y1+1,x1+1 SAY ch PICTURE "X"
TONE(250,1)
ENDI

IF key = 273 ;
.OR. key = 275 ;
.or. key = 387 .or. key = 334 .or. key = 386 .or. key = 330

@ y1, x1, y1+2, x1+2 BOX "-=¬¦-=L¦"
@ y1, x1+1 SAY "m"
@ y1+1,x1+1 SAY ch PICTURE "X"
TONE(450,1)
ENDI



RESTSCREEN(y1,x1,yy,xx,ss_key)
SETCOLOR(col1)
ENDI


*******************************************
** обработка знака = , enter **
*******************************************

IF key = 61 .or. key = 13
KEYBOARD CHR(23)
flag := 1
ENDI


*******************************************
** очистка строки **
*******************************************
IF key = 302
KEYBOARD CHR(23)
flag := 2
ENDI

***************************************
** записать в память **
***************************************

IF key = 273
KEYBOARD CHR(23)
flag := 4
ENDI

***************************************
** ЧИТАТЬ ИЗ ПАМЯТИ **
***************************************

IF key = 275
KEYBOARD CHR(23)
flag := 3
ENDI

***************************************
** сложить в ПАМЯТИ **
***************************************

IF key = 387 .or. key = 334
KEYBOARD CHR(23)
flag := 5
ENDI

***************************************
** вычесть в ПАМЯТИ **
***************************************

IF key = 386 .or. key = 330
KEYBOARD CHR(23)
flag := 6
ENDI

SET COLOR TO +GR/BG
SET CURSOR ON

RETURN 0



********************************************************
** ПРОРИСОВКА КАЛЬКУЛЯТОРА **
********************************************************

PROC INI_CALC(is_load_font)
is_load_font:=IF(is_load_font=NIL,.F.,is_load_font)
OP_WIN("+BG/W","+bG/W","+BG/W",0+y_pos, 0+x_pos, 13+y_pos, 41+x_pos, IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦"),'-'," ")


SET COLOR TO +N/W
@ 1+y_pos,1+x_pos,12+y_pos,40+x_pos BOX " "
@ 1+y_pos, 28+x_pos SAY "- - - -"
@ 2+y_pos, 24+x_pos SAY "- - - - -"
@ 3+y_pos, 24+x_pos SAY "- - - - -"
@ 4+y_pos, 2+x_pos SAY replicate('-',23)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)
@ 5+y_pos, 4+x_pos SAY "- - - - - - - - - -"
@ 6+y_pos, 4+x_pos SAY "- - - - - - - - - -"
@ 7+y_pos, 4+x_pos SAY "- - - - - - - - - -"
@ 8+y_pos, 2+x_pos SAY replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)
@ 9+y_pos, 4+x_pos SAY "- - - - - - - - - -"
@ 10+y_pos, 4+x_pos SAY "- - - - - - - - - -"
@ 11+y_pos, 4+x_pos SAY "- - - - - - - - - -"
@ 12+y_pos, 2+x_pos SAY replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)+" "+replicate('-',3)


SET COLOR TO +BG/BG
@ 1+y_pos, 1+x_pos, 3+y_pos, 23+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")
@ 5+y_pos, 1+x_pos, 7+y_pos, 3+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")
@ 5+y_pos, 13+x_pos, 7+y_pos, 15+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")
@ 5+y_pos, 5+x_pos, 7+y_pos, 7+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")
@ 5+y_pos, 9+x_pos, 7+y_pos, 11+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")
@ 5+y_pos, 29+x_pos, 7+y_pos, 31+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")
@ 5+y_pos, 21+x_pos, 7+y_pos, 23+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")
@ 5+y_pos, 25+x_pos, 7+y_pos, 27+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")
@ 5+y_pos, 17+x_pos, 7+y_pos, 19+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")
@ 5+y_pos, 33+x_pos, 7+y_pos, 35+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦")


SET COLOR TO +GR/BG
@ 2+y_pos,2+x_pos,2+y_pos,22+x_pos BOX " "
@ 2+y_pos, 2+x_pos SAY CALC_STR PICTURE "XXXXXXXXXXXXXXXXXXXXX"
@ 6+y_pos, 2+x_pos SAY "*"
@ 6+y_pos, 14+x_pos SAY "-"
@ 6+y_pos, 6+x_pos SAY "/"
@ 6+y_pos, 10+x_pos SAY "+"
@ 6+y_pos, 22+x_pos SAY "("
@ 6+y_pos, 26+x_pos SAY ")"
@ 6+y_pos, 30+x_pos SAY "%"
@ 6+y_pos, 34+x_pos SAY "="
@ 6+y_pos, 18+x_pos SAY "."

SET COLOR TO +BG/B
@ 9+y_pos, 1+x_pos, 11+y_pos, 3+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 2+x_pos SAY "0"
@ 9+y_pos, 5+x_pos, 11+y_pos, 7+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 6+x_pos SAY "1"
@ 9+y_pos, 9+x_pos, 11+y_pos, 11+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 10+x_pos SAY "2"
@ 9+y_pos, 13+x_pos, 11+y_pos, 15+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 14+x_pos SAY "3"
@ 9+y_pos, 17+x_pos, 11+y_pos, 19+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 18+x_pos SAY "4"
@ 9+y_pos, 21+x_pos, 11+y_pos, 23+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 22+x_pos SAY "5"
@ 9+y_pos, 25+x_pos, 11+y_pos, 27+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 26+x_pos SAY "6"
@ 9+y_pos, 29+x_pos, 11+y_pos, 31+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 30+x_pos SAY "7"
@ 9+y_pos, 33+x_pos, 11+y_pos, 35+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 34+x_pos SAY "8"
@ 9+y_pos, 37+x_pos, 11+y_pos, 39+x_pos BOX IF(!is_load_font,"--¬¦--L¦ ","гT¬¦-¦L¦ ")
@ 10+y_pos, 38+x_pos SAY "9"


SET COLOR TO +BG/R
@ 5+y_pos, 37+x_pos, 7+y_pos, 39+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦ ")

@ 1+y_pos, 33+x_pos, 3+y_pos, 35+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦ ")
IF !is_load_font
@ 1+y_pos, 34+x_pos SAY "m"
END

@ 1+y_pos, 37+x_pos, 3+y_pos, 39+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦ ")
IF !is_load_font
@ 1+y_pos, 38+x_pos SAY "m"
END

@ 1+y_pos, 29+x_pos, 3+y_pos, 31+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦ ")
IF !is_load_font
@ 1+y_pos, 30+x_pos SAY "m"
END

@ 1+y_pos, 25+x_pos, 3+y_pos, 27+x_pos BOX IF(!is_load_font,"-=¬¦-=L¦","гT¬¦-¦L¦ ")
IF !is_load_font
@ 1+y_pos, 26+x_pos SAY "m"
END


SET COLOR TO +GR/R
@ 2+y_pos, 30+x_pos SAY "R"
@ 2+y_pos, 26+x_pos SAY "W"
@ 2+y_pos, 38+x_pos SAY "-"
@ 2+y_pos, 34+x_pos SAY "+"
@ 6+y_pos, 38+x_pos SAY "C"

RETURN

FUNCTION LEN_TRIM
PARAMETERS str

RETU LEN(ALLTRIM(str))





******************************************************************************
** распахивающееся окно с тенью **
******************************************************************************

PROC OP_WIN
PARAMETERS mcol_brd,mmcol_txt,mcol_shd,y111,x111,y222,x222,bord,shad,txt
PRIVATE col,x_cen,y_cen,s_x,s_y,d_x,d_y,xx111,xx222,yy111,yy222,i



col:=SETCOLOR()
SET CURSOR OFF

x_cen:=(x222-x111)/2+x111
y_cen:=(y222-y111)/2+y111

s_x:=x222-x111
s_y:=y222-y111

IF s_x > s_y
d_y:=s_y/s_x
d_x:=1
ELSE
d_x:=s_x/s_y
d_y:=1
ENDI

xx111:=x_cen-d_x
xx222:=x_cen+d_x
yy111:=y_cen-d_y
yy222:=y_cen+d_y


DO WHILE xx111>=x111 .and. xx222<=x222 .and. yy111>=y111 .and. yy222<=y222

IF xx111<80.AND.yy111<25.AND.xx222<80.AND.yy222<25
SET COLOR TO &mcol_brd
@ yy111, xx111, yy222, xx222 BOX bord
ENDIF

IF xx111+1<80.AND.yy111+1<25.AND.xx222-1<80.AND.yy222-1<25
SET COLOR TO &mmcol_txt
@ yy111+1, xx111+1, yy222-1, xx222-1 BOX txt
ENDIF

xx111:=xx111-d_x
xx222:=xx222+d_x
yy111:=yy111-d_y
yy222:=yy222+d_y

ENDDO

SETCOLOR(cBack_shad)
IF y222 +1 <25 .AND. x222+1 < 80 .AND. shad <>'-'
COLORWIN(y222+1,x111+1,y222+1,x222+1,cBack_shad)
COLORWIN(y111+1,x222+1,y222+1,x222+1,cBack_shad)
ENDIF

SET COLOR TO &mcol_brd
@ y111, x111, y222, x222 BOX bord

SET COLOR TO &mmcol_txt
@ y111+1, x111+1, y222-1, x222-1 BOX txt


setcolor(COL)
SET CURSOR OFF
*SETCURSOR(-1)
RETU

******************************************************************************
** СТАНДАРТНЫЙ ФОН В РАСПАХИВАЮЩЕМСЯ ОКНЕ **
******************************************************************************

PROC STD_FON
OP_WIN(back_c_brd,back_c_t, "n/bg", 0, 0, 24,79,back_typ_brd,'-',IIF(LEN(back_fill)<=1,REPLICATE(back_fill,9),back_fill))

SET COLOR TO &back_c_brd
@ 0,2 SAY DATE()

RETURN


Так выглядит окно калькулятора:


Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник


Пост N: 361
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.03.10 14:51. Заголовок: Ужас! Этим кодом над..


Ужас! Этим кодом надо пугать начинающих программистов, что если они так будут писать, то за ними придут из милиции!:)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 19.03.10 14:54. Заголовок: Спасибо вам gfilatov..


Спасибо вам gfilatov2002 огромное, очень мне помогли!!!


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1440
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.03.10 17:05. Заголовок: Григорьев Владимир п..


Григорьев Владимир пишет:

 цитата:
Ужас! Этим кодом надо пугать начинающих программистов,


Ну так научил бы человека как правильно код писать , возможно кому то еще бы пригодилось

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 5
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 20.03.10 08:15. Заголовок: Dima пишет: Ну так ..


Dima пишет:

 цитата:
Ну так научил бы человека как правильно код писать , возможно кому то еще бы пригодилось


Вот именно ))

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 6
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 20.03.10 11:06. Заголовок: Блин все не могу раз..


Блин все не могу разобраться с запуском, помогоите люди. Напишите пожалуйста подробней о запуске, если не сложно. Заранее спасибо.
Вот что у меня выдает при запуске: http://radikal.ru/F/s43.radikal.ru/i099/1003/d3/aa0ad7487afd.jpg.html

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 336
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.03.10 11:37. Заголовок: Покажите, плиз, соде..


Покажите, плиз, содержимое вашей папки C:\Lib, а также переменных окружения PATH, INCLUDE, LIB.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 7
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 20.03.10 13:02. Заголовок: А что значит перемен..


А что значит переменных окружения PATH, INCLUDE, LIB?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 8
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 20.03.10 13:05. Заголовок: Вот C:\Clipper&#..

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 9
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 20.03.10 13:09. Заголовок: Запускаю я его на ви..


Запускаю я его на виртуальной машине, Windows95

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 10
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 20.03.10 13:12. Заголовок: Вот INCLUDE http://r..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 337
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.03.10 13:25. Заголовок: Сделайте батник: pa..


Сделайте батник:

path %path%;c:\clipper5
set INCLUDE=c:\clipper5\include
set LIB=c:\clipper5\lib

и перед сборкой программы вызовите его.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 11
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 22.03.10 10:10. Заголовок: Вот так я запускаю: ..


Вот так я запускаю: http://jpe.ru/1/max/220310/0yx0rx5dv1.jpg
в файле kal.prg находится код программы "Калькулятор"
Вот что выдает после запуска: http://jpe.ru/1/max/220310/0tt3sxmnmw.jpg
Может я неправильно запуска?
А вот что выдает после запуска батника:
path %path%;c:\clipper5
set INCLUDE=c:\clipper5\include
set LIB=c:\clipper5\lib
http://jpe.ru/1/max/220310/0ri3e8pbyv.jpg
Или я даю команды не верные, подскажите пожалуйста?



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 338
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 22.03.10 12:48. Заголовок: Все нужно делать в о..


Все нужно делать в одном сеансе CMD.
По порядку:
1. Пуск -> Выполнить -> Cmd. Открылось окно.
2. CD <имя папки с программой> (в эту же папку положите вышеуказанный батник).
3. Запускаете батник (он устанавливает значения переменных окружения)
4. Потом делаете то, что делали раньше. (RTlink, по-моему, надо запускать так: RTLINK fi kal)


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 12
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 22.03.10 13:34. Заголовок: а на какой винде дел..


а на какой винде делать, это не имеет значени? Или только на 95-ой?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 13
Зарегистрирован: 19.03.10
ссылка на сообщение  Отправлено: 22.03.10 14:00. Заголовок: Снова ничего не полу..


Снова ничего не получилось, делал все по инструкции как вы написали PSP, сейчас выложу результат полученного.
http://jpe.ru/1/max/220310/0fbpihu385.jpg
Судя по результату он не может создать файл kal.obj?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1447
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.03.10 15:12. Заголовок: apposs inkey.ch есл..


apposs
inkey.ch если в папке include ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 339
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 22.03.10 21:13. Заголовок: apposs пишет: Судя ..


apposs пишет:

 цитата:
Судя по результату он не может создать файл kal.obj?


RTLINK не может найти этот файл, ибо Clipper не смог его создать по причине отсутствия файла inkey.ch
Судя по Вашим скриншотам файл inkey.ch находится в папке c:\clipper5\include
Чтобы компилятор мог найти его (и любой другой файл .ch), существует переменная окружения INCLUDE.
Перед компиляцией нужно указать set INCLUDE=<папка с файлами .ch> или скопировать нужные файлы (в данном случае inkey.ch) в текущую папку. Я не могу понять, где и какие файлы у Вас находятся.
PSP пишет:

 цитата:
Все нужно делать в одном сеансе CMD.


Вот это тоже важно.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1459
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.03.10 21:29. Заголовок: apposs пишет: а на ..


apposs пишет:

 цитата:
а на какой винде делать, это не имеет значени? Или только на 95-ой?


да по барабану ;) хоть на windows 7.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1460
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.03.10 21:29. Заголовок: PSP Может собрать е..


PSP
Может собрать ему прогу и выложить готовый вариант ? ;)))

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 64 , стр: 1 2 3 4 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 44
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет