c scriptlerde return deyimi?

ilkata

Üye
Katılım
17 Ara 2007
Mesajlar
28
Puanları
1
Yaş
39
merhabalar arkadaslar,

bir konuda yardımınıza ihtiyacım var.

programlama icerisinde return leri hangi islevlerde kullanicagimizi anlayamiyorum.

mesela asagidaki ornekte, yetkili, giris yaptiginda bir nesne gorunur olacak.


{
///////////////////////////////////////////////////////
// Query whether logged-on user has authorization level 4
//
if (PASSCheckAreaLevelPermission("@CurrentUser",4))
return 1;
else
return 0;
}



"@CurrentUser" adinda bir etiket var. kendinin belirledigi 4 seviyesinde yetkilendirme yapacak. return0 'i anliyorum. kosul saglanmadiginda dongu olusturuyor, programi bastan sorgulamak icin donduruyor. return 1 ne ise yarayacak?

yardimlarinizi en kisa zamanda bekliyorum.
herkese sevgiler
mhrrm
 
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
Giriş yapmış olan kulanıcı, yetki seviyesi 4'e sahipse 1, değilse 0 döndürüyor.
 
hocam diğer sorunum ise return deyimlerini kullanamıyorum wincc de.
wincc void function cannot return a value
böyle bir hata veriyor. neyi eksik yapıyorum?

aynı zamanda 1 döndürmesi ne anlamına geliyor?
 
void tipindeki fonksiyonlar deger dondurmezler, dolayisi ile bunlarin icinde return kullanilmaz.

return ile donen degerin ozel bir anlami yok, senin nasil kullanacagin onemli. Program acisindan 0, 1, 2 veya baska bir deger donmus farketmez, program tek basina bundan ozel bir anlam cikarmaz. bu donen deger senin icin bir anlam ifade eder.

Yani 1 dondurmesi, bir anlam ifade etmiyor. Ne anlama gelecegini sen belirliyorsun.
 
o zaman return deyimini nerede kullanacağım.




if (PASSCheckAreaLevelPermission("@CurrentUser",4))
return 1;
else
return 0;
}

normalde yukardaki örnek scriptin çalışması gerek ama returnlerde sorun veriyor. bunun önüne nasıl geçerim?
 
Return kullanman gerekiyorsa fonksiyonu void tipinde tanımlayamazsın, geri dönecek değer ile aynı tipte olmalı. Bu kodun gectigi fonksiyonun tipi nedir?

Ayrıca bu cok temel bir programlama bilgisi. Bunlarda takiliyorsan öncelikle bir kitap veya siteden temel bilgileri öğrenmen iyi olur, yoksa çok vakit kaybedersin.
 
hocam zannettiğin kadarda zayıf değilim bu konuda;) çözdüm şimdi.

#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

senin dediğin gibi burda yapamıyoruz ancak,

#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{

burda yapabiliyoruz. herşey için çok teşekkür ederim emrah hocam.
 
C ile program yazarken dikkat edilmesi gereken ufak bir nokta vardır, eğer program içerisinde kullandığımız fonksiyon blokları void ile tanımlıysa bunlar anlık değer alırlar, yanı hesapladığı değeri başka bir fonksiyona gönderemezsiniz, fakat yazdığınız fonksiyonu int, float ya da char gibi C'nin kabul ettiği değişken tiplerinden birisi olarak tanımlarsanız return komutu ile fonksiyonun sonucunu başka bir foksiyon içerisinde kullanılmak üzere döndürebilirsiniz.
 

Forum istatistikleri

Konular
128,920
Mesajlar
921,704
Kullanıcılar
451,086
Son üye
micromaster39

Yeni konular

Geri
Üst