"Fossies" - the Fresh Open Source Software Archive

Member "gambas-3.16.3/app/src/gambas3/tips/tips.tr.txt" (7 Sep 2021, 8306 Bytes) of package /linux/misc/gambas-3.16.3.tar.bz2:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 [WELCOME]
    2 
    3 <p><b>Gambas</b>'a Hoş Geldiniz !</p>
    4 
    5 <p><b>Gambas</b> gelişmiş bir <i>Basic</i> yorumlayıcısı
    6 üzerine kurulu grafiksel bir geliştirme ortamıdır.</p>
    7 
    8 <p><b>Gambas</b> sizin kolay ve hızlı bir şekilde
    9 güçlü programlar yapabilmenizi amaçlar. Ama düzgün programlar
   10 sizin <i>kendi</i> sorumluluğunuzda kalır...</p>
   11 
   12 <p>Eğlenmenize bakın !</p>
   13 
   14 <p align=right>Beno&icirc;t Minisini<br>
   15 <u>g4mba5@gmail.com</u></p>
   16 
   17 
   18 [STARTUP]
   19 
   20 <p>Her proje bir <i>başlangıç sınıfı</i> içermelidir. Bu başlangıç
   21 sınıfı, programınızın başlangıç yöntemi olarak davranacak, parametre
   22 almayan <i>Main</i> adlı durağan (static) ve genel (public) bir
   23 yöntem tanımlamalıdır.</p>
   24 
   25 <p>Proje ağacında sağ fare tuşuyla üzerine tıklayarak ve açılan
   26 menüden <i>Başlangıç sınıfı</i>'nı seçerek başlangıç sınıfını
   27 tanımlayabilirsiniz.</p>
   28 
   29 <p>Bir başlangıç formunda <i>Main</i> yöntemi tanımlamanıza gerek yoktur;
   30 çünkü formlar zaten öntanımlı bir yönteme sahiptir.</p>
   31 
   32 <p>Bu öntanımlı başlangıç yöntemi formu örnekler ve gösterir. Aynı
   33 <i>Visual Basic&trade;</i>'de olduğu gibi.</p>
   34 
   35 
   36 [OPEN]
   37 
   38 <p><b>Gambas</b>'ın <b>OPEN</b> yönergesi <i>Visual Basic</i>'deki
   39 gibi çalışmaz. Dosyayı bir tamsayı (integer) yerine <i>File</i>
   40 nesnesi olarak döndürür.</p>
   41 
   42 <p>Yani, şu şekilde yazmak yerine :</p>
   43 
   44 <pre>DIM handle AS Integer
   45 ...
   46 OPEN "myfile" FOR READ AS #handle</pre>
   47 
   48 <p>aşağıdaki gibi yazmalısınız :</p>
   49 
   50 <pre>DIM handle AS File
   51 ...
   52 handle = OPEN "myfile" FOR READ</pre>
   53 
   54 
   55 [CATDIR]
   56 
   57 <p>Dizin ve dosya adlarını <b><tt>&/</tt></b> işleciyle
   58 birleştirebileceğinizi biliyor muydunuz ? Bu işleç eğik
   59 çizgilerle ilgilenir. Böylece sonuçta oluşacak yol adı
   60 kusursuz olur.</p>
   61 
   62 <p>Örneğin:</p
   63 
   64 <pre>PRINT "/home/gambas" &/ ".bashrc"
   65 /home/gambas/.bashrc
   66 
   67 PRINT "/home/gambas/" &/ "/tmp" &/ "foo.bar"
   68 /home/gambas/tmp/foo.bar
   69 </pre>
   70 
   71 <p>Harika değil mi ?</p>
   72 
   73 
   74 [EXEC]
   75 
   76 <p>Projenizin tümünden çalışabilir bir dosya oluşturabilirsiniz.
   77 Bunun için <i>Proje</i> menüsünden <i>Çalışabilir dosyayı oluştur</i>
   78 seçeneğini tıklayınız.</p>
   79 
   80 <p><b>Gambas</b> çalışabilir bir dosya oluşturduğunda, sonucu doğrudan
   81 projenizin dizinine koyar. Bu dosya projenizle aynı adı alır.</p>
   82 
   83 
   84 [PATH]
   85 <p>
   86 Göreceli yol adlarının <b>Gambas</i>'da özel bir anlamı vardır.
   87 Bu yollar her zaman projenizdeki dosyaları gösterir.
   88 <p>
   89 <i>Geçerli dizin</i> kavramı yoktur, ve değiştirmek için
   90 <tt>CHDIR</tt> gibi anahtar bir sözcük de yoktur.
   91 <p>
   92 <b>Dikkatli olun:</b> göreceli yol adlarını sadece proje dosyalarına
   93 erişmek için kullanın, çünkü çalışabilir dosya oluştuğunda tam yollar
   94 çalışmayacaktır.
   95 
   96 
   97 [GLOBAL]
   98 
   99 <b><i>Gambas</i></b>'da <u>global değişkenler yoktur</u>!
  100 <p>
  101 Mümkünse, bu değişkenleri ana modülünüze koyun ve onları
  102 <tt>PUBLIC</tt> olarak bildirin.
  103 <p>
  104 Eğer projenizde bir ana modül değil de bir ana form varsa,
  105 <tt>STATIC PUBLIC</tt> olarak bildirin.
  106 <p>
  107 Bu değişkenlere erişmek için, ana modülün veya formun adını
  108 kullanmalısınız: <tt>MyMainModule.MyGlobalVariable</tt> veya
  109 <tt>MyMainForm.MyGlobalVariable</tt>.
  110 
  111 
  112 [EMPTY]
  113 
  114 <p>Bir dizgenin boş olup olmadığını öğrenmek için, <b>Len()</b>
  115 işlevini kullanmak zorunda değilsiniz. Doğrudan boş bir dizge
  116 <b>FALSE</b> ve dolu bir dizge <b>TRUE</b> olarak sınanabilir.</p>
  117 
  118 <p>Örneğin, şu şekilde yapmak yerine :</p>
  119 
  120 <pre>IF Len(MyString) > 0 THEN ...
  121 IF Len(MyString) = 0 THEN ...</pre>
  122 
  123 <p>Şöyle yapabilirsiniz :</p>
  124 
  125 <pre>IF MyString THEN ...
  126 IF NOT MyString THEN ...</pre>
  127 
  128 
  129 [EVENT]
  130 
  131 <p>Olay meydana getiren her denetim ve nesnenin, bir
  132 <i>olay gözlemcisi</i> ve bir olay <i>grup adı</i> vardır.</p>
  133 
  134 <p>Olay gözlemcisi oluşan her olayı yakalar. Olay grup adı ise
  135 olayı yöneten yordamın önekidir.</p>
  136 
  137 <p>Öntanımlı olarak, bu olay gözlemcisi denetimi oluşturduğunuz
  138 nesnedir ve grup adı da o denetimin adıdır.</p>
  139 
  140 <p>Böylece bir form, üzerinde oluşturulan denetimlerden
  141 gelen tüm olayları alır.</p>
  142 
  143 <pre>' Gambas form
  144 DIM hButton AS Button
  145 
  146 PUBLIC SUB _new()
  147 &nbsp;&nbsp;hButton = NEW Button(ME) AS "MyButton"
  148 END
  149 
  150 PUBLIC SUB MyButton_Click()
  151 &nbsp;&nbsp;PRINT "You have clicked MyButton !"
  152 END
  153 </pre>
  154 
  155 
  156 [FORM]
  157 
  158 <p><b><i>Gambas</i></b>'da, bir form kendi olay gözlemcisidir. Böylece
  159 tüm form olaylarını (<i>Resize</i>, <i>Activate</i>, vb...) kendi
  160 sınıf kodundan yönetebilirsiniz.</p>
  161 
  162 <p>Bu sayede, <i>Visual Basic</i>'den gelen yeni kullanıcılar
  163 yolunu şaşırmaz :-).</p>
  164 
  165 
  166 [EMBED]
  167 
  168 <p><b><i>Gambas</i></b> ile bir formu diğer formların içine gömebilirsiniz
  169 &nbsp;!</p>
  170 
  171 <p>Böyle güçlü bir şey yapmak için, sadece yapıcı işlevin son argümanı
  172 olarak bir sahip kap (container) vererek formu örnekleyin.</p>
  173 
  174 <p>Örneğin&nbsp;:</p>
  175 <p><tt>DIM hForm AS MyDialog<br>
  176 DIM hSuperControl AS MyForm<br><br>
  177 ' Bir iletişim penceresi oluştur<br>
  178 hForm = NEW MyDialog<br>
  179 ' Bu iletişim penceresine bir form yerleştir<br>
  180 ' Unutmayın, bu form kaptan önce iki parametre daha alır<br>
  181 hSuperControl = NEW MyForm(Param1, Param2, MyDialog)<br>
  182 ' Formu taşır ve yeniden boyutlandırır<br>
  183 hSuperControl.Move(8, 8, 128, 64)<br>
  184 </tt></p>
  185 
  186 <p>Dikkatli olun: başka bir form içine gömülen bir form hala formdur ve
  187 bundan dolayı kendi olay gözlemcisine sahiptir.</p>
  188 
  189 
  190 [GROUP]
  191 
  192 <p>Her denetim bir <i>(Group)</i> özelliğine sahiptir. Bu özellik
  193 girildiğinde, olay yöneticisinin adı denetim adı yerine grup adını
  194 önek olarak alır.</p>
  195 
  196 <p>Diyelim ki <b>btnAction</b> adında bir <i>Button</i> nesneniz var.
  197 Bu nesneye ait <i>Click</i> olayının yöneticisi de aşağıdaki gibi olsun :</p>
  198 
  199 <pre>PUBLIC SUB btnAction_Click()</pre>
  200 
  201 <p>Eğer <b>btnAction</b> nesnesinin <i>(Group)</i> özelliğini
  202 <i>MyGroup</i> olarak değiştirirseniz, bu butondan olayları alacak
  203 olay yöneticisi şöyle olur :</p>
  204 
  205 <pre>PUBLIC SUB MyGroup_Click()</pre>
  206 
  207 <p>Bu özellik tek bir işlevde değişik denetimlerin olaylarını yönetmenize
  208 olanak sağlar. Bu denetimlerin aynı türden olmaları da gerekmez !</p>
  209 
  210 <p><b>Not :</b> Eski <i>Visual Basic</i> emektarları
  211 <i>denetim dizisi (control array)</i> kavramını hatırlayabilir,
  212 ancak bu daha güçlü bir uygulama. :-)</p>
  213 
  214 
  215 [TAG]
  216 
  217 <p>Her denetim bir <i>Tag</i> özelliğine sahiptir. Bu özellik
  218 programcı içindir ve ilgili bulduğunuz herhangi bir veriyi içerebilir.</p>
  219 
  220 <p>Bu yöntem, bir olay yöneticisinde aynı grupta yer alan denetimleri
  221 ayırt etmek için çok kullanışlıdır.</p>
  222 
  223 
  224 
  225 [LAST]
  226 
  227 <p><b>LAST</b> anahtar sözcüğü bir olay algılayan en son denetimi
  228 döndürür. Bu, herhangi bir denetim adından bağımsız bir olay yöneticisi
  229 yazmak istediğinizde çok kullanışlıdır.</p>
  230 
  231 <p>Örneğin, diyelim ki bir hesap makinesi programı yapmak istiyorsunuz.
  232 Her rakam için bir tane olacak şekilde on tane tuş tanımladınız ve hepsi
  233 "Digit" <i>grubunda</i> yer alsın. Her denetimin <i>Tag</i> özelliği
  234 tuşta yer alan rakamı içersin. Olay yöneticiniz şunun gibi olacaktır :</p>
  235 
  236 <p><tt>PUBLIC SUB Digit_Click()<br><br>
  237 &nbsp;&nbsp;Display = Display & LAST.Tag<br>
  238 &nbsp;&nbsp;RefreshDisplay<br><br>
  239 END</tt></p>
  240 
  241 
  242 [LEFT]
  243 
  244 <p>Çok bilinen <i>BASIC</i> işlevleri <b>Left$</b>, <b>Right$</b> ve
  245 <b>Mid$</b> <b><i>Gambas</i></b>'da çok kullanışlı davranışlar gösterir</p>
  246 
  247 <p><b>Left$</b> ve <b>Right$</b> işlevlerinin ikinci parametreleri
  248 seçimliktir ve biri öntanımlıdır.</p>
  249 
  250 <p><tt>Left$("Gambas")</tt> --> <tt>"G"</tt> değerini,<br>
  251 <tt>Right$("Gambas")</tt> --> <tt>"s"</tt> değerini döndürür.</p>
  252 
  253 <p>İkinci parametre negatif olabilir ve bu ayıklanmayan
  254 karakterlerin sayısını verir.</p>
  255 
  256 <p><tt>Left$("Gambas", -2)</tt> --> <tt>"Gamb"</tt><br>
  257 <tt>Right$("Gambas", -2)</tt> --> <tt>"mbas"</tt></p>
  258 
  259 <p>Aynı şekilde, <b>Mid$</b> işlevinin üçüncü parametresi negatif
  260 olabilir ve bu değer dizge sonundan itibaren ayıklanmayan
  261 karakter sayısını verir.</p>
  262 
  263 <p><tt>Mid$("Gambas", 2, -2)</tt> --> <tt>"amb"</tt>
  264 
  265 
  266 [END]
  267 
  268 <p>Tüm ipuçlarını okudunuz. Umarım şimdi bir <b>Gambas</b> uzmanı
  269 olmuşsunuzdur ! :-)</p>
  270 
  271 <p>Eğer katkıda bulunmak istiyorsanız, aşağıdaki adrese yeni ipuçları
  272 gönderin&nbsp;:</p>
  273 <p><u>g4mba5@gmail.com</u></p>
  274 
  275 <p>Şimdiden teşekkürler !</p>
  276 
  277 
  278