Sınavınız kitabınızın "FONKSİYONLAR" konusundan başlayarak kitabın sonuna kadar olan kısımdan gerçekleştirilecektir.
Wednesday, May 29, 2024
9. sınıf Programlama Temelleri sınavı içerik bilgilendirme
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)
Subscribe to:
Posts (Atom)