AccessTr.neT
Global değişkenin ömrü - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Global değişkenin ömrü (/konu-global-degiskenin-omru.html)

Sayfalar: 1 2 3


Global değişkenin ömrü - estapan - 05/02/2016

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


Cvp: Global değişkenin ömrü - alpeki99 - 05/02/2016

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.


Cvp: Global değişkenin ömrü - estapan - 05/02/2016

(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.


Cvp: Global değişkenin ömrü - alpeki99 - 05/02/2016

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.


Cvp: Global değişkenin ömrü - estapan - 05/02/2016

(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.


Cvp: Global değişkenin ömrü - estapan - 05/02/2016

ekteki dosyada verdiğiniz kodları uygulamaya çalıştım fakat sanırım olmadı. Bu konuda biraz yardım ederseniz çok iyi olur.