Wednesday, May 29, 2024

9. sınıf Programlama Temelleri sınavı içerik bilgilendirme

 Sınavınız kitabınızın "FONKSİYONLAR"  konusundan başlayarak kitabın sonuna kadar olan kısımdan gerçekleştirilecektir. 

 

mesleki gelişim dersi çalışma soruları

Mesleki gelişim 2. dönem 2. yazılı sınavı çalışöa soruları için TIKLAYINIZ

Tuesday, May 14, 2024

Tuesday, May 7, 2024

Flutter Database işlemleri

 main.dart

import 'package:flutter/material.dart';
import 'package:flutter_application_2/homepage.dart';

void main() {
  runApp(const MainApp());
}

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: HomePage(),
    );
  }
}


homepage.dart

import 'package:flutter/material.dart';
import 'package:flutter_application_2/adduserpage.dart';
import 'package:flutter_application_2/dbhelper/dbhelper.dart';
import 'package:flutter_application_2/dbhelper/models/user.dart';
import 'package:flutter_application_2/updateuserpage.dart';
import 'package:sqflite/sqflite.dart';

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _MyWidgetState();
}

class _MyWidgetState extends State<HomePage> {
  List<User> users = [];
  @override
  void initState() {
    super.initState();
    _loadUsers();
  }

  Future<void> _loadUsers() async {
    DbHelper db = DbHelper();
    users = await db.getUsers();
    print(users);
    setState(() {
      users = users;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView.builder(
        itemCount: users.length,
        itemBuilder: (context, index) {
          User user = users[index];
          return ListTile(
            onTap: () => Navigator.of(context).push(MaterialPageRoute(
              builder: (context) => UpdateUserPage(user.id),
            )),
            title: Text("${user.id}. ${user.username}"),
            subtitle: Text("${user.ad} ${user.soyad}"),
          );
        },
      ),
      floatingActionButton: FloatingActionButton(
          onPressed: () {
            Navigator.of(context).push(MaterialPageRoute(
              builder: (context) => const AddUserPage(),
            ));
          },
          child: const Icon(Icons.add)),
    );
  }
}

adduserpage.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_application_2/dbhelper/dbhelper.dart';
import 'package:flutter_application_2/dbhelper/models/user.dart';

class AddUserPage extends StatefulWidget {
  const AddUserPage({super.key});

  @override
  State<AddUserPage> createState() => _AddUserPageState();
}

class _AddUserPageState extends State<AddUserPage> {
  TextEditingController txtusername = TextEditingController();
  TextEditingController txtad = TextEditingController();
  TextEditingController txtpassword = TextEditingController();
  TextEditingController txtsoyad = TextEditingController();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Yeni User EKLE"),
      ),
      body: Padding(
        padding: const EdgeInsets.all(10.0),
        child: Column(children: [
          const SizedBox(
            height: 10,
          ),
          TextField(
              controller: txtusername,
              decoration: const InputDecoration(
                  border: OutlineInputBorder(), hintText: "Username")),
          const SizedBox(
            height: 10,
          ),
          TextField(
              controller: txtpassword,
              decoration: const InputDecoration(
                  border: OutlineInputBorder(), hintText: "Password")),
          const SizedBox(
            height: 10,
          ),
          TextField(
              controller: txtad,
              decoration: const InputDecoration(
                  border: OutlineInputBorder(), hintText: "Ad")),
          const SizedBox(
            height: 10,
          ),
          TextField(
              controller: txtsoyad,
              decoration: const InputDecoration(
                  border: OutlineInputBorder(), hintText: "Soyad")),
          const SizedBox(
            height: 10,
          ),
          ElevatedButton(
              onPressed: () {
                DbHelper db = DbHelper();
                db.insertUser(User(
                    ad: txtad.text,
                    soyad: txtsoyad.text,
                    username: txtusername.text,
                    password: txtpassword.text));
                Navigator.pop(context);
              },
              child: const Text("EKLE")),
        ]),
      ),
    );
  }
}

updateuserpage.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_application_2/dbhelper/dbhelper.dart';
import 'package:flutter_application_2/dbhelper/models/user.dart';
import 'package:flutter_application_2/homepage.dart';

class UpdateUserPage extends StatefulWidget {
  UpdateUserPage(this.userid, {super.key});
  int? userid;
  @override
  State<UpdateUserPage> createState() => _UpdateUserPageState();
}

class _UpdateUserPageState extends State<UpdateUserPage> {
  TextEditingController txtusername = TextEditingController();
  TextEditingController txtad = TextEditingController();
  TextEditingController txtpassword = TextEditingController();
  TextEditingController txtsoyad = TextEditingController();

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _loadUser();
  }

  Future<void> _loadUser() async {
    DbHelper db = DbHelper();
    User? user = await db.getUser(widget.userid!);
    setState(() {
      txtad.text = user!.ad;
      txtsoyad.text = user.soyad;
      txtusername.text = user.username;
      txtpassword.text = user.password;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("User Düzenle"),
      ),
      body: Padding(
        padding: const EdgeInsets.all(10.0),
        child: Column(children: [
          const SizedBox(
            height: 10,
          ),
          TextField(
              controller: txtusername,
              decoration: const InputDecoration(
                  border: OutlineInputBorder(), hintText: "Username")),
          const SizedBox(
            height: 10,
          ),
          TextField(
              controller: txtpassword,
              decoration: const InputDecoration(
                  border: OutlineInputBorder(), hintText: "Password")),
          const SizedBox(
            height: 10,
          ),
          TextField(
              controller: txtad,
              decoration: const InputDecoration(
                  border: OutlineInputBorder(), hintText: "Ad")),
          const SizedBox(
            height: 10,
          ),
          TextField(
              controller: txtsoyad,
              decoration: const InputDecoration(
                  border: OutlineInputBorder(), hintText: "Soyad")),
          const SizedBox(
            height: 10,
          ),
          ElevatedButton(
              onPressed: () {
                DbHelper db = DbHelper();
                User user = User(
                    id: widget.userid,
                    ad: txtad.text,
                    soyad: txtsoyad.text,
                    password: txtpassword.text,
                    username: txtusername.text);
                db.updateUser(user);
                Navigator.of(context).push(
                    MaterialPageRoute(builder: (context) => const HomePage()));
              },
              child: const Text("GÜNCELLE")),
        ]),
      ),
    );
  }
}


dbhelper.dart


import 'dart:async';
import 'dart:io';
import 'package:flutter_application_2/dbhelper/models/user.dart';
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
import 'package:sqflite/sqflite.dart';

class DbHelper {
  static const String databaseName = "mydb2.db";
  static const int databaseVersion = 1;

  Database? _db;

  Future<Database?> get db async {
    if (_db != null) return _db;
    _db = await _initDb();
    return _db;
  }

  _initDb() async {
    Directory documentsDirectory = await getApplicationDocumentsDirectory();
    String path = join(documentsDirectory.path, databaseName);
    return await openDatabase(path, version: databaseVersion,
        onCreate: (db, version) {
      db.execute(
          "CREATE TABLE users (id INTEGER PRIMARY KEY, ad TEXT, soyad TEXT, username TEXT, password TEXT)");
      db.execute(
          "INSERT INTO users (ad, soyad, username, password) VALUES (?, ?, ?, ?)",
          ["Recep", "ÖZEN", "user1", "1234"]);
      db.execute(
          "INSERT INTO users (ad, soyad, username, password) VALUES (?, ?, ?, ?)",
          ["Ahmet", "TUNA", "user2", "1234"]);
      db.execute(
          "INSERT INTO users (ad, soyad, username, password) VALUES (?, ?, ?, ?)",
          ["Ali", "ÖZER", "user3", "1234"]);
      db.execute(
          "INSERT INTO users (ad, soyad, username, password) VALUES (?, ?, ?, ?)",
          ["Kazım", "SELİM", "user4", "1234"]);
    });
  }

  // Örnek: Kullanıcı Ekleme
  Future<int> insertUser(User user) async {
    final db = await this.db;
    int id = await db!.insert("users", user.toMap());
    return id;
  }

  // Örnek: Kullanıcı Okuma
  Future<List<User>> getUsers() async {
    final db = await this.db;
    List<Map<String, dynamic>> rows = await db!.query("users");
    List<User> users = rows.map((row) => User.fromMap(row)).toList();
    return users;
  }

  Future<User?> getUser(int id) async {
    final db = await this.db;
    List<Map<String, dynamic>> rows =
        await db!.query("users", where: "id=?", whereArgs: [id]);
    User? user = rows.map((row) => User.fromMap(row)).toList().firstOrNull;
    return user;
  }

  Future<int> updateUser(User user) async {
    final db = await this.db;

    return await db!
        .update("users", user.toMap(), where: "id=?", whereArgs: [user.id]);
  }
}

user.dart

class User {
  int? id;
  String ad;
  String soyad;
  String username;
  String password;

  User({
    this.id,
    required this.ad,
    required this.soyad,
    required this.username,
    required this.password,
  });

  factory User.fromMap(Map<String, dynamic> map) => User(
      id: map['id'] as int,
      ad: map['ad'] as String,
      soyad: map['soyad'] as String,
      username: map['username'] as String,
      password: map['password'] as String);

  Map<String, dynamic> toMap() => {
        'id': id,
        'ad': ad,
        'soyad': soyad,
        'username': username,
        'password': password,
      };
}


eklenecek dependeciesler

  path: ^1.8.3
  path_provider: ^2.1.3
  sqflite: ^2.3.2





Monday, May 6, 2024

python dosya okuma

 # python dilinde dosya işlemleri oldukça kolaydır.

# open functionu ile yapılır
# dosya = open("dosyanınYolu","izinkodu", encoding="utf-8")

# dosya = open("deneme.txt","r")
# dosyanın sadece adı olur ise, dosya çalıştırdığınız program ile aynı klasörde aranır.

dosya = open("c:\\users\\pc01\\desktop\\yazi.txt","r", encoding="utf-8")
# yukarıda dosyanın tam yolu belirtilmiştir, \ işareti string içinde \\ şeklinde yazılır

icerik = dosya.read()

dosya.close() # her okunan dosya, işimiz bittikten sonra mutlaka kapatılmalıdır.

print(icerik)

# dosya izin kodları
# 'r' (Okuma): Dosyayı sadece okuma için açar. Dosya yoksa hata verir.
# 'a' (Ekleme): Dosyayı veri eklemek için açar. Dosya yoksa yeni bir tane oluşturur.
# 'w' (Yazma): Dosyayı yazmak için açar. Dosya varsa içeriğini siler.
# 'x' (Oluşturma): Dosyayı oluşturmak için açar. Dosya zaten mevcutsa hata verir.



try:
 dosya = open("c:\\users\\pc01\\desktop\\yazi2.txt","x", encoding="utf-8")
# a yaptığımızda dosyayı bulamadı ve yazi2.txt adında bir dosya üretti.
# w yaptığımızda dosya var ise açar, içeriğini siler, sadece yazdıklarımız olur.
# w yaptığımızda dosya yok ise belirttiğimiz yolda belirttiğimiz isimde dosya açar.ve onda çalışır.
 
 dosya.write("merhaba ben otomatik üretildim")
 dosya.close()

 dosya = open("c:\\users\\pc01\\desktop\\yazi2.txt","r", encoding="utf-8")
 icerik = dosya.read()

 print(icerik)

 dosya.close()
except Exception as hata:
 print("Hata oluştu: ",hata)


# dosya = open("c:\\users\\pc01\\desktop\\yazi.txt","r", encoding="utf-8")

# Bilgisayarınızdaki c:\yazi.txt isimli dosyayı okuyarak içeriğini ekrana yazdıran programı yazınız.

dosya = open("c:\\yazi.txt","r",encoding="utf-8")

icerik = dosya.read()

dosya.close()

print(icerik)



# bilgisayarınızda c:\yazi.txt dosyasını erişerek içine "Ben program tarafından yazıldım"
# yazan, ardından bu dosyayı okuyarak içeriğini ekrana yazan programı yazınız.

dosya = open("c:\\yazi.txt","a",encoding="utf-8")
dosya.write("Bu üretildi.\n")
dosya.close()


dosya = open("c:\\yazi.txt","r",encoding="utf-8")

icerik = dosya.read()

dosya.close()

print(icerik)