1

Konu: Bir satırda çok komut

Merhabalar
birbirinin aynı tekrar eden bazı konurları aynı satırda toplama şansımız varmı
Örneğin
Replace cari_adi with "Gökçe" , Replace cari_no with "1"
a=1,b=2
_screen.forms(2).pageframe1.page3.text9.value=st_sat , _screen.forms(2).pageframe1.page3.text9.value=st_sat8

gibi

Teşekkür ederim

2

Re: Bir satırda çok komut

haddim olmayarak neden bunu istediğinizi sorabilir miyim?

3

Re: Bir satırda çok komut

valla bende birşey anlamadım üsdat,biraz daha açalım konuyu

En büyük sermaye nakit,nakit sermaye vakittir...

4

Re: Bir satırda çok komut

replace komutu için ;
REPLACE FieldName1 WITH eExpression1 [ADDITIVE]  [, FieldName2 WITH eExpression2 [ADDITIVE]] ...
Replace cari_adi with "Gökçe" ,  cari_no with "1"

5

Re: Bir satırda çok komut

WITH _Screen
oldScreenLeft=.Left       && Save current position and size
oldScreenTop=.Top
oldScreenHeight=.Height
oldScreenWidth=.Width
oldScreenColor = .Backcolor
.LockScreen=.T.       && Disable screen redraw
.BackColor=rgb(192,192,192)   && Change the background to grey
.BorderStyle=2        && Change the border to double
.Closable=.F.         && Remove window control buttons
.ControlBox=.F.
.MaxButton=.F.
.MinButton=.T.
.Movable=.T.
.Height=285
.Width=550
.Caption="Custom Screen"    && Set a caption
.LockScreen=.F.       && Enable screen redraw
ENDWITH

6 Son düzenleyen, cetinbasoz (20.07.2007 13:11:25)

Re: Bir satırda çok komut

replace icin kolay, skollbeyaz'in yazdigi gibi. Objeler icin is biraz farkli:

with _screen.forms(2).pageframe1.page3
.text9.value=st_sat
.text9.value=st_sat8
endwith

Diycem ama ikisi de text9 value'yu degistiriyor:) Tabii hic degistirmesi de gerekmeyebilir eger Controlsource olarak atarsan. Ornegin:

Visual Fox Pro
* from.init

this.addproperty("oRecord", createobject('empty'))
addproperty(this.oRecord, 'st_sat')
addproperty(this.oRecord, 'st_sat8')
with _screen.forms(2).pageframe1.page3
.text8.controlsource ="thisform.oRecord.st_sat"
.text9.controlsource ="thisform.oRecord.st_sat8"
endwith

Bir baska ornek (coklu icin):

with thisform.pageFrame1.page3
  store .f. to .txt1.Enabled, txt2.enabled, .txt3.Enabled
endwith

Bu arada:
replace f1 with m.y
replace f2 with m.z
replace f3 with f1*f2 && m.y * m.z

yerine:
replace f1 with m.y, f2 with m.z, f3 with f1*f2

hem gecerli hem daha hizli (Update icin de gecerli).

7 Son düzenleyen, Gökçe Özçınar (20.07.2007 17:20:56)

Re: Bir satırda çok komut

İlginiz için teşekkür ederim Yeterli açıklama yapmadım. Derdimi söyle izah edeyim.
Örneğin formlardaki sıradan benzer ve tekrarlaran komutları yanyana yazıp kod sayfasını mümkün olduğu kadar kısaltıp daha görsel hale getirmekti. Kodlarda:

Thisform.text1.enabled=.t.
Thisform.text2.enabled=.t.
Thisform.text3.enabled=.t.
.
.
thisform.pageframe1.page1.grid1.column1.ControlSource=_char+".ch_tar"
thisform.pageframe1.page1.grid1.column2.ControlSource=_char+".ch_eno"
thisform.pageframe1.page1.grid1.column3.ControlSource=_char+".ch_tip"
.
.
.
şeklinde gidiyor. Ve kod sayfasına baktığınızda bir sayfa sadece bunlarla dolu. Mesela if- endif leri zaman zaman görmek kolay olmuyor. Ben bunları yan yana yazıp (olabiliyorsa) kod sayfasını daha sadeleştirmek derdindeydim.

ama zaten anladığım kadarıyla

with _screen.forms(2).pageframe1.page3
.text9.value=st_sat
.text10.value=st_sat8
endwith

kodunda bile .textxxx  dan textbox adedi kadar yazmak zorundayız.

Ben (dilin kemiği klavyenin çivisi yok)
Thisform.text1.enabled=.t.,Thisform.text2.enabled=.t.,Thisform.text3.enabled=.t.
derdindeydim. tongue

8

Re: Bir satırda çok komut

Gökçe Özçınar yazdı:

İlginiz için teşekkür ederim Yeterli açıklama yapmadım. Derdimi söyle izah edeyim.
Örneğin formlardaki sıradan benzer ve tekrarlaran komutları yanyana yazıp kod sayfasını mümkün olduğu kadar kısaltıp daha görsel hale getirmekti. Kodlarda:

Thisform.text1.enabled=.t.
Thisform.text2.enabled=.t.
Thisform.text3.enabled=.t.
.
.
thisform.pageframe1.page1.grid1.column1.ControlSource=_char+".ch_tar"
thisform.pageframe1.page1.grid1.column2.ControlSource=_char+".ch_eno"
thisform.pageframe1.page1.grid1.column3.ControlSource=_char+".ch_tip"
.
.
.
şeklinde gidiyor. Ve kod sayfasına baktığınızda bir sayfa sadece bunlarla dolu. Mesela if- endif leri zaman zaman görmek kolay olmuyor. Ben bunları yan yana yazıp (olabiliyorsa) kod sayfasını daha sadeleştirmek derdindeydim.

ama zaten anladığım kadarıyla

with _screen.forms(2).pageframe1.page3
.text9.value=st_sat
.text10.value=st_sat8
endwith

kodunda bile .textxxx  dan textbox adedi kadar yazmak zorundayız.

Ben (dilin kemiği klavyenin çivisi yok)
Thisform.text1.enabled=.t.,Thisform.text2.enabled=.t.,Thisform.text3.enabled=.t.
derdindeydim. tongue


Visual Fox Pro
with thisform

.text1.enabled=.t.
.text2.enabled=.t.
.text3.enabled=.t.
endwith

Visual Fox Pro
with thisform.pageframe1.page1.grid1

.column1.ControlSource=_char+".ch_tar"
.column2.ControlSource=_char+".ch_eno"
.column3.ControlSource=_char+".ch_tip"
endwith

bu sekilde kodlamak anlasilirligi sagladigi gibi VFP nin hızlı yorumlamasinada yardimci olur

9

Re: Bir satırda çok komut

hız olarak durumu nedir bilmem ama benzer bir konu burda daha önce işlenmişti ve güzel fikirler ortaya çıkmıştı
http://www.fox4um.com/viewtopic.php?id=278
sayfasına bir bak istersen umarım aradığın cevabı bulursun

10

Re: Bir satırda çok komut

Gökçe Özçınar yazdı:

Ben (dilin kemiği klavyenin çivisi yok)
Thisform.text1.enabled=.t.,Thisform.text2.enabled=.t.,Thisform.text3.enabled=.t.
derdindeydim. tongue


store ... to ...

ornegine bak. Ya da bundan diyelim ki 50 tane var ve isimleri sirali text1,text2..text50 o zaman o kadar uzun kimse yazmaz zaten:)

Visual Fox Pro
local ix

for ix = 1 to 50
  with getpem( thisform, 'text' + ltrim(str(m.ix))
      .Enabled = .t.
  endwith
endfor