string *5 string*10 yaparsam çalışmıyor

string *5 string*10 yaparsam çalışmıyor

yasargunay

Yapmaya çalıştığım personel takip proğramında tanımlamaları aşağıdaki gibi yaptım .Ama adı soyadı tabiki 5 harften fazla olmalı.Proğram bu şekilde çalışıyor fakat 5lerden 1 tanesini 10 yaptığımda hata veriyor.Ne Yapmalıyım.Kısıtlama yapmazsam
"bad record length" uyarısı veriyor

Private Type rapor
Adisoyadi As String * 5
dogumtar As Date
dogumyer As String * 5
Adres As String * 5
sicilno As Long
meslek As String * 5
deger1 As Byte
deger2 As Byte
deger3 As Byte
deger4 As Byte
End Type
Dim kayit As rapor
Dim oku As String

2008-08-25 00:07:34

Cvp

yasargunay

Type rapor
Adisoyadi As String * 20
dogumtar As Date
dogumyer As String * 20
Adres As String * 40
sicilno As Long
meslek As String * 20
end type

rakamların toplamı (20+20+40+20) 100´geçtiğinde proğram çalışmıyor.Mesela 40´ı 41 yapayım çalışmıyor.veya 20lerden birini 21 yapayım çalışmıyor.100Ün altındaki toplamlarda çalışıyor.

Bunu nasıl halledebilirim Lütfen Yardım

2008-03-27 16:40:37

Cvp

Legolas

hangi programı kullanıyorsun bilmiyorum ama benim bildiğim string ifadeler sayısal bir anlam ifade etmez karakter özelliktedir sende bu karakter özellikteki 2 değeri çarpmaya çalışıyorsun string değeri ilk önce sayısala çevirip sonra çarpsan?

2008-03-27 18:09:38

Cvp

yasargunay

Ben kendi cevabımı buldum
len=len(kayit) yazmak gerekiyormuş
bu arada visual basic6 kullanıyorum

2008-03-28 12:09:48

Cvp

Legolas

=) girdiğin yazının karakter sayısını alıp tekrar aynı değişkene atıyorsun buda sayısal bir ifade =) zannedersem ama şunu sormak istiyorum len değişkenin len fonksiyonunla çakışma yapmıyormu ?

2008-03-28 13:42:54

Cvp

MeMaTiAs

len değişkeni len fonksiyonuyla çakışma yapmaması gerekir çünkü len sözcüğünün yanına parantez "(" işareti geldiği anda fonksiyona dönüşür fakat parantez yoksa sadece stringtir

2008-08-25 00:07:34