Etiketler

Youtube Kanalıma Abone Olunuz

3 Kasım 2019 Pazar

asGbookPHP Ziyaretçi Defteri v2.5

PHP dilinde yazdığım asGbookPHP Ziyaretçi defteri scriptimin yeni sürümü v2.5 çıktı.

Neler yeni?
v2.5: 03/11/2019

  • Mesaj gönderimini geçici devre dışı bırakma özelliği eklendi
  • Mesaj düzenleme ve silme işlemi sonunda 1. sayfa açılıyordu. Mesajın olduğu sayfa açılıyor.
  • Mesaj düzenlenip gönderildikten sonra şablon varsayılan oluyordu. Düzeltildi.
  • Kodlarda iyileştirmeler yapıldı. PHP 7'ye uygun değişiklikler yapıldı

Son sürümün yüklü olduğu asGbookPHP Ziyaretçi Defteri sayfam. Defteri inceleyebilir, mesaj bırakabilirsiniz.

Ayrıntılı açıklamalı sayfa: http://www.akcansoft.com/2015/04/akcansoft-ziyaretci-defteri.html

asGbookPHP GitHub sayfası https://github.com/akcansoft/asgbookphp

PHP Scripti İndir: asGbookPHP v2.5 (2 Mb)

11 Ekim 2019 Cuma

QuickBasic Kursu: Bölüm 12: Dosya işlemleri-3

Önceki Bölüm: QuickBasic Kursu: Bölüm 11: Dosya İşlemleri-2
Güncelleme: 14 Ekim 2019
Yalnız metin içermeyen dosyalar vardır. Örneğin; resim(BMP,JPG,GIF ...) ses(WAV,MP3 ...), video(AVI, MOV, MPG ...) gibi dosyalar.

Bu tür dosyalar içinde metin aranmaz ve metinle ilgili işlemler de yapılmaz.
Ama örneğin bir GIF dosya yapısını öğrendiniz ve dosya içindeki resmi ekrana basmak istiyorsunuz.
Bunun için dosyayı binary olarak açıp içindeki kodları resim kodlarına dönüştürmelisiniz.

Çalışma sistemi RANDOM dosya gibidir ancak önceden bir kayıt yapısı belirleme gerekliliği yoktur.
GET ve PUT ile dosyanın istenilen kısmını okuyabilir, değişiklik yapabilirsiniz.

Binary(ikili) Dosya Oluşturma ve Yazma

OPEN "c:\ornek\ikili.bin" FOR BINARY AS #1
Random dosyada olduğu gibi dosya yoksa oluşturulur.
Varsa sorun çıkmaz.
Üstteki kodu denerseniz, dosya yok ise boş bir dosya oluşur.
A$ = "Mesut"
PUT #1, , A$
A$ değişkeni içeriğini PUT ile dosyaya yazdırdık.
Kayıt numarası belirtmedik.
Öncesinde dosyaya herhangi bir okuma veya yazma işlemi yapılmadığı için ilk 5 byte yazdırılır.
A$ = CHR$(13) + CHR$(10) + "Akcan"
PUT #1, , A$
İkinci satır oluşturuluyor.
Sıralı erişimli dosyada satır atlamak için ikinci bir PRINT komutu kullanılıyordu ama burada byte byte işlem yapıldığı için satır atlama kodlarını da bizim girmemiz gerekir.
CHR$(13) + CHR$(10) dan oluşan iki karakter sonraki satıra atlamayı sağlar.
ENTER tuşunun yaptığını yapar.

Üstteki kodları deneyip dosya içeriğini inceleyin sonra aşağıdaki kodları deneyin.
Burada kayıt yeri olarak 2 yazılı.
Değişken içeriği dosyanın 2. baytından başlayarak doldurulur.

QuickBasic Kursu: Bölüm 11: Dosya İşlemleri-2

Önceki Bölüm: QuickBasic Kursu: Bölüm 10: Dosya İşlemleri-1
Güncelleme: 11 Ekim 2019
Bu bölümde Random dosya oluşturma, dosyaya yazma ve okumayı öğreneceğiz.

Rastgele Erişimli(RANDOM) Dosya Oluşturma

Belli bir kayıt yapısı olan dosya türleri için uygundur.
Dosyadaki tüm kaydın tamamını okuma yada yazma gibi bir sorunu olmadığından dolayı bellek için de uygundur.
Çok sayıda kayıt işlemi yapılabilir.
Kayıt sınırı, bilgisayarınızın harddisk boş alanı kadardır.
İstenilen kayıt numarası verilerek sadece o kayıt okunabilir veya yazılabilir. Rastgele denmesinin sebebi budur. Baştan sona sıralı bir şekilde tüm kayıtları okumasına gerek yoktur.
Böylece hızlı bir şekilde verilere ulaşılabilir.

Random dosyada kayıtlar için bir kayıt yapısı oluşturulmalıdır.
Type ..... End Type ile kayıt yapısı belirlenir.
TYPE kayit
 no AS INTEGER
 adi AS STRING * 10
 soyadi AS STRING * 10
END TYPE
Her bir kayıt için kullanılacak değişkenler belirtildi.
ördüğünüz gibi STRING * 10 diye yazarak string değişkenin bellekte kaç karakter kaplayacağını da belirtiyoruz.
String harici değişken türlerinin standart genişlikleri(bellekte kapladığı byte) olduğu için genişliğine gerek yoktur.

Byte cinsinden genişlikler
STRING * n n
INTEGER 2
LONG 4
SINGLE 4
DOUBLE 8

Tanımladığımız kayıt tipine uygun bir değişken için bellekte yer açalım.
Sonraki satır random dosya açmak için
DIM ogr AS kayit
OPEN "c:\ornek\ogrenci.txt" FOR RANDOM AS #1 LEN = LEN(ogr)
Rastgele erişimli dosya oluşturmak için RANDOM eki kullanılır.
Dosya yoksa yeniden oluşturulur.
Varsa herhangi bir problem oluşmaz, dosya silinip yeniden oluşmaz.
Açık dosyayı kapatmaya gerek olmadan YAZMA ve OKUMA amaçlı olarak kullanılabilir.

10 Ekim 2019 Perşembe

QuickBasic Kursu: Bölüm 10: Dosya İşlemleri-1

Önceki Bölüm: QuickBasic Kursu: Bölüm 9: Sayılarla ilgili işlemler
Güncelleme: 9 Ekim 2019
Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve onlarla ilgili işlemler yapabiliyoruz.
Belleğe aktarılacak ve işlenilecek bilgiler çok sayıda ve belli bir düzende ve değişme ihtimali olan bilgileri program kodları içine yazmak mantıklı olmayacaktır.

Qbasic'in kullanacağı bellek de sınırlıdır zaten.
Örneğin beş bin öğrencisi bulunan bir okulda öğrencilerin kayıtlarının tutulacağını düşünün.
Bu bilgiler klavyeden RAM belleğe aktarılabilse bile bilgisayarı kapattığımızda bilgiler kaybolacaktır.

Bu yüzden kalıcı bellekte kalmasını istediğimiz bilgiler için dosyalar kullanılır.
Üç türlü dosya açma yöntemi vardır.
Bunlar:
Sıralı, Rasgele erişimli ve Binary

OPEN

Disk üzerinde dosya oluşturmak ve değişiklik yapmak için OPEN komutu kullanılır.
OPEN dosyaadı [FOR açma tipi] [ACCESS erişim tipi] [lock] AS [#]dosyanumarası [LEN=kayıt genişliği]
dosyaadı: "Sürücü:\klasör\dosyaadı" şeklinde açacağınız dosyayı tanımlayan metin
açma tipi: INPUT, OUTPUT, APPEND, RANDOM ya da BINARY tiplerinden biri
erişim tipi: Ağ ortamında dosyayı başkaları da açacaksa dosyaya erişim tipini belirleyebilirsiniz.
READ(okuma),
WRITE(yazma) veya
READ WRITE (okuma ve yazma, RANDOM ve BINARY dosyalarda geçerlidir)
lock: dosya kilitleme
dosya numarası: açılan her dosyaya bir numara verilmelidir.
kayıt genişliği : Rastgele erişimli dosyalarda kayıt genişliğini belirtmek içindir.

Sıralı Erişimli Dosya Oluşturma ve Yazma

Çoğunlukla az sayıda veya belirli bir kayıt formatı olmayan metin içerikli dosya işlemleri için kullanılır.
Örneğin DOS'daki EDIT programı bu tür dosyaları oluşturur veya açar.
Sıralı erişimli dosya açmak istediğimizde bunu yalnızca OKUMA veya yalnızca YAZMA amaçlı olabilir.
Dosya ne amaçla açılmışsa o amaçla kullanılır.