shareware program için sayaç

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

shareware program için sayaç

Mesaj gönderen webaytek »

bir sayaç yapmak istiyorum ben basit olsun diye bi txt dosyası kullanacaktım ancak bi-iki arkadaş bana ini kullanmamın okumak bakımından daha kolay olacağını söyledi.

Ben kendi yazdığım kodu yolliiim de siz en iyisi nedir ona göre bi bilgilendirin :roll:

YARDIMLAR İÇİN ŞİMDİDEN TEŞEKKÜRLER

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
denetle_msg: TButton;
sayacgoster: TMemo;
bir_arttir: TButton;
Timer1: TTimer;
dosyaya_yaz: TButton;
dosyayi_sil: TButton;
Timer2: TTimer;
duzelt: TButton;
procedure denetle_msgClick(Sender: TObject);
procedure bir_arttirClick(Sender: TObject);
procedure dosyaya_yazClick(Sender: TObject);
procedure dosyayi_silClick(Sender: TObject);
procedure duzeltClick(Sender: TObject);
private
toplam : integer;
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.DFM}

procedure TForm1.denetle_msgClick(Sender: TObject);
var
a : Array[0..144] of char;
begin
GetSystemDirectory(a, sizeof(a));
if FileExists(a+'\asd.txt') then
showmessage('Programı önceden de kullanmışsınız')
else showmessage('Programı ilk defa kullanıyorsunuz');
sayacgoster.lines.delete(1); // içinden çıkamadım ?????
sayacgoster.lines.SaveToFile(a+'\asd.txt');
end;

procedure TForm1.bir_arttirClick(Sender: TObject);
begin
sayacgoster.lines.delete(1);
toplam:=strtoint(sayacgoster.Text)+1;
//sayacgoster.text:=inttostr(toplam);
showmessage(inttostr(toplam));
end;

procedure TForm1.dosyaya_yazClick(Sender: TObject);
var c : Array[0..144] of char;
begin
GetSystemDirectory(c, sizeof(c));
sayacgoster.Lines.SaveToFile(c+'\asd.txt')
end;

procedure TForm1.dosyayi_silClick(Sender: TObject);
var d : Array[0..144] of char;
begin
getSystemDirectory(d, sizeof(d));
if FileExists(d+'\asd.txt') then
DeleteFile(d+'\asd.txt')
else showmessage('Dosya zaten yoktu');
sayacgoster.lines.delete(1);
end;

procedure TForm1.duzeltClick(Sender: TObject);
begin
sayacgoster.lines.delete(1);
end;

end.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

selam.. yaptığın biraz basit bir yöntem olur , programı kuran gider text dosyayı siler, oldu sana freeware :)

az buçuk daha iyi bir güvenlik için Resim arama : onguard

yok ben illa böyle yapıcam dersen :

Kod: Tümünü seç

procedure TForm1.denetle_msgClick(Sender: TObject);
var
a : Array[0..144] of char;
begin
GetSystemDirectory(a, sizeof(a));
if FileExists(a+'\asd.txt') then
begin
  sayacgoster.lines.clear;
  sayacgoster.lines.loadfromfile(a+'\asd.txt')
  i:= strtoint(sayacgoster.lines[1]);
  inc(i);
  sayacgoster.lines.SaveToFile(a+'\asd.txt');
  if  i > 50 then 
   showmessage('hobbala, süren dolmuş git satın al, veya asd.txtyi sil :) ');
end;
end; 
Kullanıcı avatarı
muskut
Kıdemli Üye
Mesajlar: 1118
Kayıt: 22 Ara 2003 09:50
Konum: Sandalyemden
İletişim:

Mesaj gönderen muskut »

selam.. yaptığın biraz basit bir yöntem olur , programı kuran gider text dosyayı siler, oldu sana freeware
dediklerini canı gönülden katılıyorum :)

Eğer biliyorsan Registry i kullanmanıda önerebilirim. En azından text dosyası gibi direkt göz önünde durmaz. Bilgilerinide şifreleyerek saklarsan biraz daha güvenli hale gelir. Ama genede tam bir çözüm olduğu söylenemez :)
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

yardım gereq

Mesaj gönderen webaytek »

tabii ki haklısınız da ben biraz çaylak sayılırım delphi konusunda
Bu registry komutlarını bulabileceğim bi kaynak war mı (Yazma - silme okuma falan da olursa sevinirim)

bu arada üzülerek söylüyorum kod anlaşılır süper ancak bu "i"
i:= strtoint(sayacgoster.lines[1]);
ne ise hata veriyor (undeclared identifier)
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

var : ARAMA

NOT : Defalarca yazılmasına rağmen arama yapmadan soru yazıyorsunuz. Ufak bir araştırma yapsanız bu konuda sitede makale ve forumda birçok kod bulabileceksiniz. Affınıza sığınarak böyle bir nazire yaptım :)
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Dostum mege nasıl unutursun i yi tanımlamayı :lol:

var altında i:Integer; seklişnde degiskeni tanımlaman gerek
Undeclare identifier = tanımlanmamıs belirtec (degisken)

ayrıca registry yada Tregistry diye aratınca 50-100 arası baslık geliyor
bunlardan bir kac tanesini okusan nasıl yapılacagını anlarsın
bunun bir faydası da kendi kendine aradıgını bulmayı ogrenmis olursun.
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

aman aman kısmayın yaw
tamam ararız bulurus :oops:
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

gkimirti yazdı:Dostum mege nasıl unutursun i yi tanımlamayı .
yok hocam ne unutması o global bi değişken :( formun başka yerlerindede kullanılır diye global yapmışım :P

nasılda kıvırıyom ama :)
Cevapla