Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

Përsëritje për Provimin Final

Pyetje Teorike:

1. Çfarë përdorimi ka klasa Path në namespace System.IO?


a. Për manipulim të fajllave
b. Për manipulim të rrugës së skedarit
c. Për manipulim të bazave të të dhënave

2. Cila prej këtyre metodave nuk i përket klasës File?


a. GetCreationTime
b. Delete
c. CopyTo

3. Cila nga këto metoda krijon një direktori të ri?


a. Directory.GetDirectories
b. Directory.Create
c. File.Create

4. Cila prej këtyre klasave mund të përdoret për shkrimin e të dhënave në një skedar?
a. FileStream
b. MemoryStream
c. StreamWriter

5. Cila prej këtyre metodave lexon një rresht nga një skedar teksti?
a. Read
b. ReadLine
c. ReadToEnd

6. Cila prej këtyre metodave shkruan një rresht në një skedar teksti?
a. Write
b. WriteLine
c. Append

7. Cila prej këtyre metodave shton të dhëna në fund të një skedari teksti?
a. AppendText
b. Write
c. WriteLine

8. Cila prej këtyre shprehjeve do të përdorej për të kapur një gabim gjatë leximit të një skedari
teksti?
a. try {} catch (IOException ex) {}
b. try {} catch (FileNotFoundException ex) {}
c. try {} catch (Exception ex) {}

9. Cila prej këtyre klasave përdoret për leximin e të dhënave nga një skedar binar?
a. StreamReader
b. BinaryReader
c. StreamWriter

10. Cila nga këto teknologji është pjesë e platformës ADO.NET?


a. LINQ
b. Entity Framework
c. DataSet

11. Cila prej këtyre metodave përdoret për hapjen e një lidhjeje me bazën e të dhënave me një
SqlConnection?
a. OpenConnection
b. Connect
c. Open

12. Cila prej këtyre metodave përdoret për aplikimin e ndryshimeve në bazën e të dhënave nga një
DataSet?
a. UpdateChanges
b. ApplyChanges
c. Update

13. Cila prej këtyre është sintaksa e saktë për të shkruar një pyetje LINQ për të zgjedhur të dhënat
nga një koleksion?
a. from x in collection where x.Property == value select x
b. select x from collection where x.Property == value
c. for x in collection where x.Property == value select x

14. Cila prej këtyre është një karakteristikë e një TextBox në një aplikacion të Windows?
a. Shfaq informacion tekstual pa mundësi redaktimi.
b. Mund lejoni përdoruesin të shkruajë dhe të redaktojë tekst.
c. Shfaq imazhe dhe ikona.

15. Cila prej këtyre është një lloj formati të cilin një formë mund ta ketë?
a. .jpg
b. .exe
c. .dll

16. Cila nga këto është një përfaqësues i një ndërfaqe në një aplikacion të Windows?
a. Korniza e dritares
b. Tabela e bazës së të dhënave
c. Butoni i Ruajtjes

17. Cili është një element tipik i një GUI në një aplikacion të Windows?
a. Komandë e Konsolës
b. Etiketë e Tekstit
c. Argument i Programit

1. Çfarë ofron namespace System.IO në programimin në C#?


Namespace System.IO në programimin në C# ofron një gamë të gjerë të klasave dhe metodave që
mundësojnë manipulimin e skedarëve dhe direktorive.
File: Klasa File siguron statika metoda për përpunimin e dosjeve, duke ofruar mundësinë për lexim, shkrim,
fshirje dhe manipulim të të dhënave brenda dosjeve.
Directory: Klasa Directory ofron metoda statike për manipulimin e direktorive, përfshirë krijimin e tyre,
fshirjen, dhe marrjen e informacionit mbi to.
Path: Klasa Path ofron metoda për manipulimin e rrugës së dosjes, duke kthyer informacion mbi emrin e
dosjes, emrin e direktorisë, zgjatjen, dhe shumë të tjera.
Stream: Klasat në këtë grup, p.sh., FileStream, StreamReader, dhe StreamWriter, ofrojnë ndihmë në leximin
dhe shkrimin e të dhënave në nivel të pjesës së detajuar të dosjeve.

2. Për çfarë përdoret klasa File në namespace System.IO?


Klasa File në namespace System.IO përdoret për të kryer operacione të ndryshme mbi dosjet, përfshirë
leximin, shkrimin, fshirjen, krijimin dhe manipulimin e të dhënave brenda dosjeve. Kjo klasë ofron një set
të gjerë të metodave statike që lejojnë përpunimin e dosjeve në një projekt C#.
ReadAllText ; WriteAllText ; Delete ; Copy

3. Cila është roli i klasës Directory në lidhje me manipulimin e direktorive në sistemin e


skedarëve?
Klasa Directory në namespace System.IO në C# ofron metoda dhe funksione për manipulimin e
direktorive në sistemin e skedarëve. Roli i kësaj klase është të mundësojë programuesit të kryejnë
operacione të ndryshme mbi direktoritë, përfshirë krijimin e tyre, fshirjen, ndryshimin e emrit, dhe
marrjen e informacionit mbi to

4. Cili është qëllimi kryesor i përdorimit të System.IO.Path?

Qëllimi kryesor i përdorimit të System.IO.Path në C# është manipulimi i rrugës së dosjes, ose thënë
ndryshe, puna me adresat dhe emrat e dosjeve dhe direktorive. Kjo klasë ofron një gamë të metodave dhe
property-ve që lejojnë programuesit të manipulojnë dhe të nxjerrin informacion mbi rrugën e një dosjeje,

5. Si mund të përdoret Path.Combine për të krijuar një rrugë të saktë të skedarit?

Path.Combine në C# është shpesh përdorur për të krijuar një rrugë të saktë të skedarit duke kombinuar dy
rrugë të dhëna të dosjeve ose direktorive. Kjo është e rëndësishme për të siguruar që rruga e dosjes është
formësuar saktësisht, duke marrë parasysh ndryshimet në platformën operative dhe duke shmangur
probleme potenciale me karakteret e ndarjes së rrugës.

6. Cilat janë disa veprime të zakonshme që mund të kryhen me File dhe Directory?

Me Klasën File:

Leximi i përmbajtjes së një dosjeje ; Shkrimi i përmbajtjes në një dosje: ; Fshirja e një dosjeje:
Kopjimi i një dosjeje: ; Zhvendosja e një dosjeje:
Me Klasën Directory:

Krijimi i një direktorie: ;; Fshirja e një direktorie (dhe përmbajtjes së saj) ;; Marrja e emrave të dosjeve në
një direktori ;;; Marrja e emrave të nën-direktorive në një direktori ;; Verifikimi nëse një direktori
ekziston:

7. Çfarë përdorimi ka klasa Path në namespace System.IO?

Klasa Path në namespace System.IO ka përdorim kryesisht për manipulimin e rrugës së dosjes (file path)
dhe për të ofruar mjetet e nevojshme për përpunimin e emrave të dosjeve dhe direktorive. Disa nga
përdorimet kryesore të klasës Path përfshijnë.
Kombinimi i rrugës së dosjes ;; Marrja e emrit të dosjes nga një rrugë e plotë ;; Marrja e emrit të
direktorisë nga një rrugë e plotë ;; Marrja e zgjatjes (extension) së dosjes nga një rrugë e plotë ;;
Verifikimi nëse një rrugë është rrugë e plotë:

8. Si mund të krijoni një skedar teksti përmes klasës File?

Për të krijuar një skedar teksti përmes klasës File në C#, mund të përdorni metodën WriteAllText.
string fileName = "example.txt";
string content = "Ky është një tekst shembull për dosjen.";
File.WriteAllText(fileName, content);

9. Çfarë kryen metoda File.Exists?

Metoda File.Exists në C# shërben për të verifikuar nëse një dosje ekziston në vendndodhjen e specifikuar.
Kjo metodë pranon një string si parameter, i cili është rruga e plotë e dosjes që dëshironi të kontrolloni.
Nëse dosja ekziston, metoda File.Exists kthen vlerën true, ndryshe kthen vlerën false. Kjo mund të jetë e
dobishme përpara se të kryhet një veprim mbi një dosje për të siguruar që dosja ekziston para se të
vazhdohet me manipulimet e mëtejshme.
string fileName = "example.txt";
if (File.Exists(fileName))
{
Console.WriteLine("Dosja ekziston.");

10. Cilat janë disa metoda të klasës Directory për manipulimin e direktorive?

Klasa Directory në namespace System.IO në C# ofron disa metoda të dobishme për manipulimin e
direktorive. Këtu janë disa prej tyre:

CreateDirectory(string path): Krijon një direktori në një vend të caktuar në disk.


Delete(string path): Fshin një direktori nga diskut. Mund të përdoret edhe për të fshirë një direktori të
zbrazët ose për të fshirë një direktori dhe përmbajtjen e tij.
GetFiles(string path): Kthen një listë të emrave të dosjeve në një direktori të caktuar.
GetDirectories(string path): Kthen një listë të emrave të nën-direktorive në një direktori të caktuar.
Exists(string path): Verifikon nëse një direktori ekziston në një vend të caktuar.
Move(string sourceDirName, string destDirName): Zhvendos një direktori nga një vend në një tjetër. Kjo
mund të përdoret për ndryshimin e emrit të një direktorie.

11. Si mund të kontrollojmë nëse një direktori ekziston para se ta krijojmë?


if (Directory.Exists(directoryPath))
{
Console.WriteLine("Direktori ekziston.");
}
else
{
Console.WriteLine("Direktori nuk ekziston.");

12. Cila është ndryshimi kryesor midis klasës FileInfo dhe File?

Klasa File është një klasë statike që furnizon metoda statike për manipulimin e dosjeve. Kjo do të thotë se
nuk ka nevojë për krijimin e një instance të veçantë të klasës për të përdorur metodat e saj. Klasa FileInfo,
nga ana tjetër, përfaqëson një dosje specifike në sistemin e skedarëve dhe ofron një gamë të gjerë të
propertive dhe metodave për të manipuluar dhe marrë informacion rreth kësaj dosjeje. Për të përdorur
FileInfo, duhet të krijoni një instance të klases për çdo dosje të caktuar. Kështu, ndryshimi kryesor është në
mënyrën se si ato ofrojnë mundësi për manipulimin e dosjeve, duke qenë njëra klasë statike dhe tjetra një
objekt i klasës.
\
13. Për cilin qëllim mund të përdorni objekte të klasës FileInfo në krahasim me shfrytëzimin e File?

Nëse duhet të përdor një përgjigje pa kod, mund të themi se objektet e klasës FileInfo përdoren kur kemi
nevojë për të manipuluar dhe marrë informacion specifik rreth një dosjeje të caktuar. Këto objekte
ofrojnë një gamë të gjerë të propertive dhe metodave për të kryer operacione mbi dosjen, duke përdorur
një instancë të objektit.
Në anën tjetër, klasa statike File ofron metoda statike për manipulimin e dosjeve dhe nuk kërkon krijimin
e një instance të veçantë për të kryer operacione mbi to. Përdorimi i File është më i përshtatshëm kur ju
keni nevojë për operacione të përbashkëta mbi dosje dhe nuk keni nevojë për informacion të detajuar
rreth një dosjeje specifike.

14. Cila është ndryshimi midis FileStream dhe MemoryStream?

FileStream përdoret për të manipuluar dosje në disk, MemoryStream përdoret për të manipuluar të dhënat
që mbahen në memorie. Përdorimi i secilës varet nga nevojat specifike të aplikacionit ose skenarit të
zhvillimit . FileStream:
FileStream përdoret për të lexuar ose shkruar të dhëna në një dosje në disk.
Kjo klasë lidhet me një dosje në një vendndodhje të caktuar në disk dhe lejon leximin ose shkrimin e të
dhënave nga ose në këtë dosje.
Mund të përdoret për manipulime të mëdha të të dhënave dhe është e përshtatshme për dosje të mëdha që
nuk mund të mbahen në memorie në tërë
MemoryStream:
MemoryStream përdoret për të lexuar ose shkruar të dhëna që mbahen në memorie (RAM), duke përdorur
një buffer të caktuar.
Kjo klasë krijohej me një buffer në memorie dhe lejon manipulime të lehta të të dhënave pa nevojë për
dosje në disk.
Mund të përdoret kur keni nevojë për të mbajtur të dhëna në memorie, siç është në rastin e përpunimit të të
dhënave nëpër program ose në rastin e përdorimit të të dhënave të vogla.

28,Për çfarë përdoret StreamReader në lidhje me leximin e të dhënave nga një stream?
StreamReader automatikisht menaxhon kodimin e karaktereve dhe ofron metoda të përshtatshme për
leximin e tekstit, duke e bërë atë një zgjedhje të shpeshtë për operacionet e leximit të tekstit nga burimet e të
dhënave të cilat janë stream-based.
15. Pse është e rëndësishme përdorimi i teknikave exception-handling kur kemi të bëjmë me
operacione të skedarëve?
Mundësia e Gabimeve: Operacionet mbi skedarë mund të përballemi me situata të ndryshme që shkaktojnë
gabime, siç janë skedarë që nuk ekzistojnë, leje të munguara për lexim/shkrim, pamjaftueshmëri e
hapësirës së diskut, dhe të tjera.
Shfaqja e Mesazheve të Gabimeve të Kuptueshme për Përdoruesin: Duke përdorur exception-handling,
mund të shfaqim mesazhe të gabimeve të kuptueshme për përdoruesit, duke ndihmuar ata të kuptojnë
arsyen pse një operacion mbi skedar nuk mund të përfundojë me sukses.

Parandalimi i Mospërputhjes së Aplikacionit: Duke trajtuar gabimet me exception-handling, mund të


parandalojmë mospërputhjen e aplikacionit në rast se ndodhin gabime. Kjo do të thotë që aplikacioni do të
vazhdojë të punojë normalisht edhe nëse ndodhin probleme gjatë operacioneve mbi skedarë.

Përmirësimi i Sigurisë: Përdorimi i exception-handling mund të ndihmojë në përmirësimin e sigurisë,


duke shmangur situata ku gabimet mund të shfrytëzohen për sulme ose përdorim të paligjshëm të burimeve
të skedarëve.

Debugging dhe Identifikimi i Problemeve: Exception-handling lejon shkathtësinë më të lehtë në debugging


dhe identifikimin e problematikave duke ofruar një rrugë të strukturuar për kapjen dhe trajtimin e
gabimeve.

16. Çfarë do të thotë "appending data" në kontekstin e shkrimit në një skedar teksti?

Appending data" në kontekstin e shkrimit në një skedar teksti do të thotë shtimi i të dhënave në fund të
skedarit, pa zëvendësuar përmbajtjen ekzistuese. Në vend që të filloni shkrimin nga fillimi i skedarit dhe
zëvendësoni të gjithë përmbajtjen ekzistuese, operacioni i shkrimit do të kryhet në fund të dosjes, duke
shtuar të dhëna pa ndikuar në pjesën ekzistuese..

Për shembull, në C#, mund të hapni një skedar për shtimin e të dhënave me File.AppendText

17. Si mund të lexoni të dhëna nga një skedar teksti përmes StreamReader?

using (StreamReader reader = new StreamReader(filePath))


{
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
Console.WriteLine(line);

18. Cilat janë disa metoda të StreamReader për leximin e të dhënave?

StreamReader në C# ofron disa metoda të përdorura për leximin e të dhënave nga një stream, siç është një
skedar teksti. Këtu janë disa nga metodat më të përdorura:
Read(): Kthen një karakter nga stream-i. Kjo është një metodë e përgjithshme për leximin e karaktereve.
ReadLine(): Lexon një linjë të tekstit nga stream-i dhe kthen një string me përmbajtjen e linjës.
ReadToEnd(): Lexon të gjithë përmbajtjen e stream-it dhe kthen një string me të dhënat e lexuara.
Peek(): Kthen vlerën ASCII e karakterit të ardhshëm në stream pa e konsumuar atë. Kjo lejon kontrollin e karakterit pa
e fshirë atë nga stream-i.

19. Cili është avantazhi i përdorimit të DataReader krahasuar me DataSet kur lexojmë të dhëna
nga një bazë e të dhënave?
DataReader dhe DataSet janë dy objekte të përdorura në programimin në C# për të lexuar të dhëna
nga një bazë të të dhënave, por ata kanë qëllime dhe karakteristika të ndryshme. Avantazhi i
përdorimit të DataReader në krahasim me DataSet është në efikasitet dhe performancë. Këtu janë
disa avantazhe të përdorimit të DataReader:
Efikasiteti: DataReader është më efikas në konsumimin e burimeve, sepse lexon rreshtat nga bazat e të
dhënave një nga një dhe nuk e mbajnë të gjithë rezultatin në memorie në të njëjtën kohë. Ky është
avantazhi i tij në rastet kur keni një numër të madh të rreshtave dhe doni të evitoni ngarkesën e
pamjaftueshme të memorisë.
Performanca: Për shkak se DataReader lexon rreshtat një nga një nga burimi i të dhënave dhe i
dorëzon ato menjëherë, shpesh ka performancë më të mirë në krahasim me DataSet, i cili ka nevojë
për të mbajtur të gjitha të dhënat në memorie.
Memoria: DataReader mbajnë një rresht në kohë, duke përdorur një kohëzë, ndërsa DataSet mban të
gjitha të dhënat në një strukturë të përkohshme në memorie. Kjo ndihmon në zvogëlimin e përdorimit
të memorisë, veçanërisht kur keni të bëni me një numër të madh të të dhënave

20. Si funksionon mekanizmi i përditësimit të të dhënave në bazë të DataSet dhe


DataAdapter?
Mekanizmi i përditësimit të të dhënave në bazë të DataSet dhe DataAdapter funksionon në
këtë mënyrë:

Mbushja e DataSet me të dhëna: Përdoruesi përdor një DataAdapter për të mbushur një
DataSet me të dhëna nga një burim i të dhënave, si një bazë e të dhënave SQL.

Modifikimi i të dhënave në DataSet: Përdoruesi mund të bëjë ndryshime në të dhënat në


DataSet, duke përdorur një nga tabelat në të.

Krijimi i komandave të përditësimit: DataAdapter krijon komanda të përditësimit


(InsertCommand, UpdateCommand, DeleteCommand) për të ekzekutuar ndryshimet në bazë
të ndryshimeve në DataSet.

Aplikimi i përditësimeve në bazë të të dhënave: Përdoruesi thërret metodën Update të


DataAdapter për të aplikuar ndryshimet në bazë të DataSet. DataAdapter përdor komandat e
përditësimit për të ekzekutuar veprimet e përditësimit në bazën e të dhënave. Ky mekanizëm
ofron një mënyrë të përshtatshme për manipulimin dhe përditësimin e të dhënave në një
aplikacion në C# dhe siguron një lidhje të lehtë midis DataSet dhe burimit të të dhënave.

21. Çfarë paraqet një SQL Query dhe si mund të përdoret në ADO.NET?

Një SQL Query është një kërkesë e shkruar në gjuhën SQL (Structured Query Language) për të ekzekutuar
një operacion mbi një bazë të dhënash. SQL Query mund të përfshijë shprehje të ndryshme për të kërkuar,
ndryshuar, fshirë ose shtuar të dhëna në bazë të dhënash. Kjo paraqet një mjet thelbësor në programimin me
bazë të dhënash dhe është shpesh përdorur në ADO.NET për të komunikuar me burimet e të dhënave.
Në ADO.NET, një SQL Query mund të përdoret nëpërmjet një SqlCommand, e cila është një objekt që
paraqet një kërkesë SQL drejtuar ndaj një burimi të të dhënave (si një bazë e të dhënave SQL Server). Ky
objekt përdor një SqlConnection për të lidhur me bazën e të dhënave dhe mund të përdoret për të ekzekutuar
SQL Query dhe për të marrë rezultatet.
22. Si mund të integrojmë LINQ në një projekt C# për të lexuar të dhëna nga një koleksion ose
bazë e të dhënave?

LINQ (Language-Integrated Query) është një teknologji e integruar në C# që ofron një mënyrë të
shprehshme dhe deklarative për të kryer kërkime dhe manipulime mbi të dhënat. Ka disa mënyra për të
integruar LINQ në një projekt C# për të lexuar të dhëna nga një koleksion ose bazë e të dhënave. Këtu
janë disa nga mënyrat më të zakonshme:

LINQ mbi Koleksione: LINQ mund të përdoret për të kryer operacione të ndryshme mbi koleksione
në C# (liste, vargje, koleksione të tjera). Kjo përfshin filtrimin, renditjen, grupimin, dhe transformimin e
të dhënave në mënyrë deklarative.
LINQ mbi Objekte: LINQ mund të përdoret për të kryer kërkime mbi koleksione të objekteve. Ky
është i dobishëm kur punoni me një listë të objekteve të një klase të caktuar.
LINQ mbi Bazën e të Dhënave (LINQ to SQL): Përdorimi i LINQ në lidhje me një bazë të dhënave
është i mundur përmes teknologjive si LINQ to SQL. Ky është një ORM (Object-Relational Mapping)
që lejon përdoruesin të përdorë LINQ për të kryer operacione mbi një bazë të dhënave relationale duke
përdorur objekte.

23. Cila është dallimi kryesor midis një aplikacioni të konsolës dhe një aplikacioni të
Windows në C#?
Dallimi kryesor është në mënyrën se si shfaqen dhe si përdoruesit ndërveprojnë me to.
Aplikacionet e konsolës janë shpesh të përdorura për skripte, aplikacione komandë-linjë, ose
skenarë të thjeshta, ndërsa aplikacionet e Windows ofrojnë një ndërfaqe më të pasur dhe të
sofistikuara për përdoruesin.
Aplikacioni i Konsolës:

Shfaqje: Aplikacionet e konsolës janë të thjeshta dhe shfaqin informacionin në një dritare teksti
të thjeshtë (konsolë). Përdoruesi shkruan ose lexon nga kjo konsolë.
Interaksioni: Përdoruesi shkruan tekstin në konsolë dhe merr output-in nga programi në të
njëjtën konsolë.
Përdorimi i Burimeve: Aplikacionet e konsolës përdorin burime të thjeshta të hyrjes dhe daljes,
duke shfrytëzuar Console.ReadLine(), Console.WriteLine(), dhe metoda të tjera të Console
klasës.
Shfaqje: Aplikacionet e Windows janë më të avancuara dhe shfaqin një dritare grafike me
ndërfaqe të përdoruesit (GUI - Graphical User Interface). Përdoruesi mund të ndërveprojë me
aplikacionin duke përdorur ndërfaqen grafike.
Interaksioni: Përdoruesi shfrytëzon butonat, menus, dhe elementet e tjera GUI për të ndërvepruar
me aplikacionin. Për shembull, përdorimi i klikimeve të miushit dhe ngjarjeve të tastierës.

24. Si mund të përcaktohet vendndodhja dhe madhësia e një formë në një aplikacion të
Windows?

form.Location = new Point(100, 100);


form.Size = new Size(500, 300);
form.CenterToScreen();

25. Çfarë do të thotë termin "interfejs" në kontekstin e zhvillimit të aplikacioneve?


termi "interface" (interfaqe) përdoret për të përshkruar një kontratë që një klasë duhet të ndërmarrë.
Interfaqet specifikojnë vetëm deklaratat e metodave dhe/ose propertiveve, por nuk ofrojnë implementim
konkret. Klasat që përdorin një interfaqe duhet të furnizojnë implementimin e metodave dhe/ose
propertiveve të specifikuara nga interfejsi. Përdorimi i interfaqeve ndihmon në krijimin e një strukturë më
fleksibël dhe të përshtatshme për shkëmbimin e kodit dhe përpunimin e objekteve në një nivel më të lartë të
abstraksionit.
Ushtrime:
1. Krijoni një program në C# që lexon një skedar teksti dhe shfaq numrin total
të rreshtave. Përdorni StreamReader për lexim.
using System;
using System.IO;
class Program { static
void Main() {
string filePath = "path-to-your-file.txt";
using (StreamReader reader = new StreamReader(filePath)) { int
lineCount = 0;
while (reader.ReadLine() != null) {
lineCount++;
}
Console.WriteLine($"Numri total i rreshtave: {lineCount}");
}
2. Shkruani një metodë që krijon një direktori të ri në desktop dhe pastaj krijon
një skedar brenda tij me një emër të përcaktuar.
using System;
using System.IO;
class Program { static
void Main() {
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); string
directoryPath = Path.Combine(desktopPath, "NewDirectory");
Directory.CreateDirectory(directoryPath);
string filePath = Path.Combine(directoryPath, "NewFile.txt");
File.Create(filePath);
Console.WriteLine($"Direktoria dhe skedari janë krijuar me sukses në {directoryPath}");
}
}

3. Implementoni një program që shkruan në një skedar binar disa numra të rastit
dhe pastaj lexon ato numra duke përdorur BinaryReader dhe BinaryWriter.
using System;
using System.IO;
class Program { static
void Main() {
string filePath = "binary-file.bin";
using (BinaryWriter writer = new BinaryWriter(File.Open(filePath, FileMode.Create))) { Random
random = new Random();
for (int i = 0; i < 5; i++) {
writer.Write(random.Next(1, 100));
}
}
using (BinaryReader reader = new BinaryReader(File.Open(filePath, FileMode.Open))) {
Console.WriteLine("Numrat e lexuar nga skedari binar:");
while (reader.BaseStream.Position < reader.BaseStream.Length) {
Console.WriteLine(reader.ReadInt32());
}
4. Përdorni klasën SqlConnection për të lidhur programin në një bazë të
dhënash SQL Server dhe shfaqeni në konzolë statusin e lidhjes.
using System;
using System.Data.SqlClient;
class Program { static
void Main() {
string connectionString = "your-connection-string-here";

using (SqlConnection connection = new SqlConnection(connectionString)) { try {


connection.Open();
Console.WriteLine("Lidhja me bazën e të dhënave është e suksesshme.");
} catch (Exception ex) {
Console.WriteLine($"Gabim gjatë lidhjes: {ex.Message}");
}
}
}
}

5. Krijoni një program që përdor SqlDataAdapter për të mbushur një DataSet me


të dhëna nga një tabelë në bazën e të dhënave.
using System; using
System.Data;
using System.Data.SqlClient;
class Program { static
void Main() {
string connectionString = "your-connection-string-here";
using (SqlConnection connection = new SqlConnection(connectionString)) { SqlDataAdapter
adapter = new SqlDataAdapter("SELECT * FROM YourTable",
connection);
DataSet dataSet = new DataSet();

adapter.Fill(dataSet, "YourTable");

DataTable dataTable = dataSet.Tables["YourTable"];


foreach (DataRow row in dataTable.Rows) {
foreach (DataColumn col in dataTable.Columns) {
Console.Write(row[col] + "\t");
}
Console.WriteLine();
}
}
6. Shkruani një procedurë që përdor SqlCommand për të ekzekutuar një
komandë SQL për ndryshimin e të dhënave në një bazë të dhënash.
using System;
using System.Data.SqlClient;
class Program { static
void Main() {
string connectionString = "your-connection-string-here";
using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open();
string updateCommand = "UPDATE YourTable SET Column1 = 'NewValue' WHERE
SomeCondition";
using (SqlCommand command = new SqlCommand(updateCommand, connection)) { int
rowsAffected = command.ExecuteNonQuery();
Console.WriteLine($"Numri i rreshtave të ndryshuara: {rowsAffected}");
}
}
}
}

7. Zhvilloni një aplikacion të Windows me një formë që përmban një TextBox dhe
një buton. Kur përdoruesi shkruan diçka në TextBox dhe klikon butonin, të
dhënat shfaqen në një MessageBox.
using System;
using System.Windows.Forms;

public class MainForm : Form {


private TextBox textBox; private
Button showButton;

public MainForm() { InitializeComponents();


}

private void InitializeComponents() {


textBox = new TextBox();
showButton = new Button();
textBox.Dock = DockStyle.Top;
showButton.Dock = DockStyle.Bottom;
showButton.Text = "Shfaq"; showButton.Click
+= ShowButton_Click;
Controls.Add(textBox);
Controls.Add(showButton);
}
private void ShowButton_Click(object sender, EventArgs e) {
MessageBox.Show($"Teksti i shkruar: {textBox.Text}");
}

[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
8. Krijoni një formë të aplikacionit të Windows që përmban një ListBox dhe një
buton. Në klikim të butonit, shfaqeni në ListBox të gjitha skedarët e një
direktorie të caktuar.
using System;
using System.IO;
using System.Windows.Forms;

public class FileListForm : Form {


private ListBox fileListBox; private
Button showFilesButton;

public FileListForm() {
InitializeComponents();
}
private void InitializeComponents() {
fileListBox = new ListBox();
showFilesButton = new Button();

fileListBox.Dock = DockStyle.Fill; showFilesButton.Dock =


DockStyle.Bottom; showFilesButton.Text = "Shfaq Skedarët";
showFilesButton.Click += ShowFilesButton_Click;
Controls.Add(fileListBox);
Controls.Add(showFilesButton);
}
private void ShowFilesButton_Click(object sender, EventArgs e) { string
directoryPath = "path-to-your-directory";
if (Directory.Exists(directoryPath)) {
string[] files = Directory.GetFiles(directoryPath);
fileListBox.Items.AddRange(files);
} else {
MessageBox.Show("Direktoria nuk ekziston.");
}
}

[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FileListForm());
}
}
9.
Implementoni një aplikacion të Windows që ka një DataGridView dhe shfaq
një listë të dhënash nga një bazë të dhënash përdorur ADO.NET.
using System; using
System.Data;
using System.Data.SqlClient; using
System.Windows.Forms;
public class DataGridViewForm : Form { private
DataGridView dataGridView;

public DataGridViewForm() {
InitializeComponents();
FillDataGridView();
}
private void InitializeComponents() {
dataGridView = new DataGridView();
dataGridView.Dock = DockStyle.Fill; Controls.Add(dataGridView);
}
private void FillDataGridView() {
string connectionString = "your-connection-string-here"; string
query = "SELECT * FROM YourTable";
using (SqlConnection connection = new SqlConnection(connectionString)) {
SqlDataAdapter adapter = new SqlDataAdapter(query, connection); DataTable
dataTable = new DataTable();
adapter.Fill(dataTable);
dataGridView.DataSource = dataTable;
}
}
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new DataGridViewForm());
}
}
10. Shkruani një program që kopjon përmbajtjen e një skedari në një skedar të ri
duke përdorur FileStream.
using System;
using System.IO;
class Program { static
void Main() {
string sourceFilePath = "path-to-source-file.txt";
string destinationFilePath = "path-to-destination-file.txt";
using (FileStream sourceStream = File.OpenRead(sourceFilePath)) using
(FileStream destinationStream = File.Create(destinationFilePath)) {
sourceStream.CopyTo(destinationStream);
Console.WriteLine("Skedari është kopjuar me sukses.");
}
}
}
11. Krijoni një aplikacion që shkruan në një skedar teksti dhe pastaj lexon atë
skedar duke përdorur StreamWriter dhe StreamReader.
using System;
using System.IO;
class Program { static
void Main() {
string filePath = "text-file.txt";
using (StreamWriter writer = new StreamWriter(filePath)) {
writer.WriteLine("Ky është një rresht i shkruar nga programi.");
}
using (StreamReader reader = new StreamReader(filePath)) { string
content = reader.ReadToEnd(); Console.WriteLine($"Përmbajtja e
skedarit: {content}");
}
}
}
12. Implementoni një program që shton tekstin e një rreshti në fund të një
skedari teksti duke përdorur StreamWriter me opsionin e shtimit (Append).
using System;
using System.IO;
class Program { static
void Main() {
string filePath = "text-file.txt";
using (StreamWriter writer = new StreamWriter(filePath, true)) {
writer.WriteLine("Ky rresht është shtuar në fund të skedarit.");
}

Console.WriteLine("Teksti është shtuar me sukses në fund të skedarit.");


}
}
13. Krijoni një program që shkruan disa numra të rastit në një skedar binar.
Pastaj, lexoni këto numra duke përdorur FileStream dhe shfaqeni në konsolë.
using System;
using System.IO;

class Program { static


void Main() {
string filePath = "binary-file.bin";
using (FileStream fileStream = new FileStream(filePath, FileMode.Create)) { BinaryWriter
writer = new BinaryWriter(fileStream);
Random random = new Random(); for
(int i = 0; i < 5; i++) {
writer.Write(random.Next(1, 100));
}
writer.Close();
}
using (FileStream fileStream = new FileStream(filePath, FileMode.Open)) {
BinaryReader reader = new BinaryReader(fileStream);
Console.WriteLine("Numrat e lexuar nga skedari binar:");
while (fileStream.Position < fileStream.Length) {
Console.WriteLine(reader.ReadInt32());
}
reader.Close();
}
}

You might also like