Skip to main content

AccessTr.neT


Global değişkenin ömrü

Global değişkenin ömrü

#1
Değerli hocalarım,
Programımda zaman zaman başvuracağım varsayılan değerler atamak istiyorum. Fakat bunu tablo olarak yapmak istemiyorum. sadece 1 satırlık alanlar için tablo yapmak istemiyorum. Bunun için Global değer (Değişken) atmak istedim. Fakat Global değerler sadece program çalıştığı sürece değerlerini bellekte saklıyor. Benim istediğim Programı kapatıp açtığımızdada son aldığı değeri bellekte saklaması ve getirmesi. Yani aynı tablolardaki gibi program kapandığındada bellekte son değeri saklaması. Bunun için mödülde kullanmamız gereken komutları öğrenmek istiyorum. heppinize teşekkür ederim
saygılar
.rar vt1.rar (Dosya Boyutu: 18,09 KB | İndirme Sayısı: 5)
+repCahiller bilginin kölesi, Alimler ise efendisi olur.
Cevapla
#2
Bu değişkenler Ram üzerinde saklandığı için program kapatılınca değerlerde silinecektir. Yapabilecekleriniz:

1- Txt dosyası içinda Anahtar : Değer şeklinde saklamak
2- Kayıt defteri (registry) içinde saklamak
3- Tabloda saklamak

Program açılışında burada yer alan değerleri alıp Global değişkene atamasını yapar kullanmaya devam edersiniz. Yalnız program akışını iyi denetlemez iseniz değişkenleri kaydetmediği/atayamadığı durumlarda sorunlar olur. Hele ki Access çalışırken programın kırılması durumunda Ram üzerindeki değerlerin bile kaybedildiğini düşünecek olursanız dikkat etmeniz kaçınılmaz olacaktır.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#3
(05/02/2016, 15:21)alpeki99 yazdı: Bu değişkenler Ram üzerinde saklandığı için program kapatılınca değerlerde silinecektir. Yapabilecekleriniz: 1- Txt dosyası içinda AnahtarLoleğer şeklinde saklamak 2- Kayıt defteri (registry) içinde saklamak 3- Tabloda saklamak.

(05/02/2016, 15:26)estapan yazdı:
(05/02/2016, 15:21)alpeki99 yazdı: Bu değişkenler Ram üzerinde saklandığı için program kapatılınca değerlerde silinecektir. Yapabilecekleriniz: 1- Txt dosyası içinda AnahtarLoleğer şeklinde saklamak 2- Kayıt defteri (registry) içinde saklamak 3- Tabloda saklamak.

Bu 3 maddeden 3. Tabloda saklamak. bunu biliyorum. fakat 1 satırlık alanlar için tablo oluşturup programı tablolara boğmak istemiyorum. diğer söylediğiniz 1. TXT dosyası içinde anahtar değer şeklinde saklamak ve 2. Kayıt defteri (registry) içinde saklamak bunların nasılm olcağını bimiyorum. Genelde programcılar bu gibi durumlarda tercih ettikleri yöntem hangisidir. bu konuda yardımcı olursanız sevinirim.
+repCahiller bilginin kölesi, Alimler ise efendisi olur.
Cevapla
#4
Açıkçası Text dosyası veya Registry içinde değişken değeri saklamayı tercih etmem, edenide görmedim. Sadece program ayarları, pencere konumları, kullanıcı tercihleri gibi değerleri text dosyasında saklıyorum. Hem daha hızlı oluyor hemde Registry için Admin yetkisi vs. gibi zırvalarla uğraşmıyorum. Aşağıdaki kod ile text dosyası oluşturup içinde veri yazabilirsiniz. Vaktim çok müsait olmadığından hızlıca bir örnek kod oldu kusura bakmayın:


' Global değişken oluşturmadım direkt bir değişkene değer atadım siz kendi global değişkenini olduğu için alt satırı kullanmanıza gerek kalmayacak
degisken1 = "accesstr"

Dim fs, TextFile
Set fs = CreateObject("Scripting.FileSystemObject")
' Alt satırdaki C:\Users\a\Desktop benim Windows masaüstünün adresi. Siz kendinize göre bir adres yazın
Set TextFile = fs.CreateTextFile("C:\Users\a\Desktop\a.txt", True)

' Parantez içindeki degisken1 yerine kendi global değişkeninizin ismini yazarsınız
' Tırnak içindeki ifade de hangi değişken olduğunu yazıyorsunuz. Herhangi bir şey olabilir mesela "Pencere Rengi:" verebilirsiniz.
TextFile.WriteLine ("Değişken 1 :" & degisken1)
TextFile.WriteLine ("Kaç Hata Var : elle verilmiş değer")

TextFile.Close

Bu şekilde tüm değişkenlerinizi satır satır WriteLine ile yazabilirsiniz.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#5
(05/02/2016, 16:04)alpeki99 yazdı: Açıkçası Text dosyası veya Registry içinde değişken değeri saklamayı tercih etmem, edenide görmedim. Sadece program ayarları, pencere konumları, kullanıcı tercihleri gibi değerleri text dosyasında saklıyorum. Hem daha hızlı oluyor hemde Registry için Admin yetkisi vs. gibi zırvalarla uğraşmıyorum. Aşağıdaki kod ile text dosyası oluşturup içinde veri yazabilirsiniz. Vaktim çok müsait olmadığından hızlıca bir örnek kod oldu kusura bakmayın:


' Global değişken oluşturmadım direkt bir değişkene değer atadım siz kendi global değişkenini olduğu için alt satırı kullanmanıza gerek kalmayacak
degisken1 = "accesstr"

Dim fs, TextFile
Set fs = CreateObject("Scripting.FileSystemObject")
' Alt satırdaki C:\Users\a\Desktop benim Windows masaüstünün adresi. Siz kendinize göre bir adres yazın
Set TextFile = fs.CreateTextFile("C:\Users\a\Desktop\a.txt", True)

' Parantez içindeki degisken1 yerine kendi global değişkeninizin ismini yazarsınız
' Tırnak içindeki ifade de hangi değişken olduğunu yazıyorsunuz. Herhangi bir şey olabilir mesela "Pencere Rengi:" verebilirsiniz.
TextFile.WriteLine ("Değişken 1 :" & degisken1)
TextFile.WriteLine ("Kaç Hata Var : elle verilmiş değer")

TextFile.Close

Bu şekilde tüm değişkenlerinizi satır satır WriteLine ile yazabilirsiniz.

Benim burdaki amacımda kullanıcı tercihlerini saklamak. Filitremelerde ve kullanıcı program kullanım tercihlerini veya varsayılan arama kriterlerini bu alanlara saklamak.

text dosyası hazırladık diğelim bu değerleri programda nasıl çağıracağız. Verdiğiniz kodları örnek uygulamada denemek istiyorum. yardımcı olursanız sevinirim.
+repCahiller bilginin kölesi, Alimler ise efendisi olur.
Cevapla
#6
ekteki dosyada verdiğiniz kodları uygulamaya çalıştım fakat sanırım olmadı. Bu konuda biraz yardım ederseniz çok iyi olur.
.rar vt1.rar (Dosya Boyutu: 26,49 KB | İndirme Sayısı: 3)
+repCahiller bilginin kölesi, Alimler ise efendisi olur.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da