Вы находитесь на странице: 1из 12

Ministerul Educației, Culturii și Cercetării

Universitatea Tehnică a Moldovei


Facultatea Calculatoare Informatică şi Microelectronică
Departamentul Ingineria Software și Automatică

Disciplina :
Programarea aplicațiilor mobile

Lucrarea de laborator nr. 2


Tema:
Organizer Mobile Application (DAILY PLANNER)

A efectuat: st. gr. TI-151 Arapu Ion

A verificat: asist. univ. Ciudin Sergiu

Chişinău – 2017
Scopul lucrării de laborator
De realizat aplicație tip Organiser pe platforma aleasă.
La formarea și proiectarea aplicațiilor sunt introduse puncte stricte,
ce sunt obligatorii de respectat. La discreția personală rămâne designul aplicației
și API-ul/Framework-ul în care va fi dezvoltată lucrarea de laborator #2. Componentele și
structura fiecărei Activități va fi descrisă mai jos.

UI Components
Aplicația va conține minim 3 Activități de baza care vor fi numerotate în lucrare sub forma:
1. MainActivity (structura/componente)

 Calendar View (custom or default)


 Buttons (Add/Remove/Update)
 Căutare (caută conform cuvintelor cheie)

2. AddtActivity

 Data/Time controller
 Info TextBox
 Buttons
 și altele (la discreție conform specificului aplicației)

3. UpdateActivity - practic e una și aceeași activitate de la Add, doar ca completata deja.

Datele operaționale din interiorul aplicației vor fi stocate în fișier/e XML forma cărora rămâne la
discreția
personală. (cuvinte cheie, XML Serialization).

Logical/Operational Component

Toate evenimentele și acțiunile de notificare/semnalizare (sonore/vizuale) intreprinse în


Organiser
vor fi tratate într-un serviciu aparte, care logic funcțional va extrage datele din acel fișier XML.

La discreția fiecărui rămâne tema/funcționalul aplicației. Exemplu cum se va modifica


tema(specificată in raport) :

Funcțional: Planificator al orarului de studii.


Tema: Student Organiser

Funcțional: Planificator al administrărilor medicamentoase.


Tema: Medication Reminder
Efectuararea lucrarii:
Figura 1 reprezinta interfata utilizatorului de selectare a unei date si functionalul ce-l
vizeaza. Aici se poate alege de a se adauga, sterge, modifica si vizualiza intrarile introduse.

Figura 1. MainActivity
Figura 2 reprezinta interfata de selectare a unei intrari iar in dependenta de originea
intentiei aceasta fie va fi afisata cu mai multe detalii, fie va fi stearsa sau va fi transmisa spre
editare.
Figura 2. DeliveryListActivity

Figura 3 reprezinta interfata de afisare a intrarii selectate.


Figura 3. ViewActivity

Figura 4 reprezinta interfata activitatii de adaugare a unei noi intrari. Aceasta cuprinde
posibilitatea de selectare a unei ore dar si campurile obligatorii: from-pozitia curenta, to- pozitia
finala a cursei, load-tipul incarcaturii si price – pretul serviciului.
Figura 4. AddtActivity

Concluzii

În această lucrare de laborator s-a creat un organizator ce vizeaza soferii de cursa lunga.
Acesta contine functinalul de adaugare, stergere, editare si vizualizare a datelor si serviciilor ce
trebuie efectuate. S-au folosit viziuni precum: CalendarView, Button, TextView, EditText,
TimePicker.
Anexa A
Fisierul „Files.cs”:

public class Files


{
public static readonly string Documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
public static readonly string Filename = Path.Combine(Documents, "Deliveries.json");

public static void Save(Delivery delivery)


{
var list = JsonConvert.DeserializeObject<List<Delivery>>(File.ReadAllText(Filename)) ?? new List<Delivery>();
list.Add(delivery);
var newlist = JsonConvert.SerializeObject(list, Formatting.Indented);
File.WriteAllText(Filename, newlist);
}

public static void Save(List<Delivery> deliveryList)


{
var newlist = JsonConvert.SerializeObject(deliveryList, Formatting.Indented);
File.WriteAllText(Filename, newlist);
}

public static void Truncate()


{
using (File.Open(Filename, FileMode.Truncate)) { }
}

public static List<Delivery> GetAllDeliveries()


{
if (new FileInfo(Filename).Length != 0)
{
return JsonConvert.DeserializeObject<List<Delivery>>(File.ReadAllText(Filename)).ToList();
}
return null;
}

public static List<Delivery> GetDeliveriesByDate(DateTime dateTime)


{
return GetAllDeliveries()?.FindAll(x => x.EndDelivery.Date == dateTime.Date &&
x.EndDelivery.Month == dateTime.Month &&
x.EndDelivery.Year == dateTime.Year);
}

public static List<Delivery> GetDeliveriesByKeyword(string word)


{
return GetAllDeliveries()?.FindAll(x => x.StartPosition.Contains(word) ||
x.EndPosition.Contains(word) ||
x.Load.Contains(word));
}

public static void Edit(Delivery old, Delivery _new)


{
List<Delivery> list = GetAllDeliveries();

var index = list.FindIndex(x => x.EndDelivery == old.EndDelivery &&


x.StartDelivery == old.StartDelivery);
list[index] = _new;
Save(list);
}

public static void Remove(Delivery delivery)


{
List<Delivery> list = GetAllDeliveries();
var index = list.FindIndex(x => x.EndDelivery == delivery.EndDelivery &&
x.StartDelivery == delivery.StartDelivery);
list.RemoveAt(index);
Save(list);
}
}

Fisierul “Helpers.cs”:
public enum NotificationType { None, Day, Hour, HalfHour }

public enum Scope { ToEdit, ToView, ToRemove, ToSearch }

public class Param


{
public Scope Scope { get; set; }
public DateTime DateTime { get; set; }
public string Keyword { get; set; }
}

Fisierul „AddtActivity”
[Activity(Label = "Add new delivery")]
public class AddtActivity : Activity
{
private int MaxLength = 20;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Addt);

TimePicker endDelivery = FindViewById<TimePicker>(Resource.Id.EndDelivery);


EditText from = FindViewById<EditText>(Resource.Id.From);
EditText to = FindViewById<EditText>(Resource.Id.To);
EditText load = FindViewById<EditText>(Resource.Id.Load);
EditText price = FindViewById<EditText>(Resource.Id.Price);
Button save = FindViewById<Button>(Resource.Id.Save);

var del = JsonConvert.DeserializeObject<Param>(Intent.GetStringExtra("ToAddt"));


price.SetRawInputType(Android.Text.InputTypes.ClassNumber);

from.TextChanged += OnTextChanged;
to.TextChanged += OnTextChanged;
load.TextChanged += OnTextChanged;
price.TextChanged += OnTextChanged;
save.Click += delegate
{
if (from.Text.Length != 0 && to.Text.Length != 0 &&
load.Text.Length != 0 && price.Text.Length != 0)
{
var temp = price.Text.All(char.IsNumber) ? Convert.ToInt32(price.Text) : 0;
var delivery = new Delivery
{
StartDelivery = DateTime.Now,
EndDelivery = new DateTime(del.DateTime.Year,
del.DateTime.Month, del.DateTime.Day,
endDelivery.Hour, endDelivery.Minute, 0),
Price = temp,
Load = load.Text,
StartPosition = from.Text,
EndPosition = to.Text
};

Files.Save(delivery);
StartActivity(new Intent(this, typeof(MainActivity)));
}
if(from.Text.Length == 0)
from.SetError("Insert the place's name where you start from!", null);
else if(to.Text.Length == 0)
to.SetError("Insert the place's name to which you deliver the load!", null);
else if(load.Text.Length == 0)
load.SetError("Insert the type of load you deliver!", null);
else if(price.Text.Length == 0)
price.SetError("Insert the price of load you deliver!", null);
};
}

private void OnTextChanged(object sender, EventArgs e)


{
if (sender is EditText view && view.Text.Length > MaxLength)
{
view.Text = view.Text.Remove(view.Text.Length - 1);
view.Text = view.Text;
}
}
}

Fisierul „ViewActivity.cs”:
[Activity(Label = "Delivery")]
public class ViewActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.View);
var delivery = JsonConvert.DeserializeObject<Delivery>(Intent.GetStringExtra("ToView"));

TextView from = FindViewById<TextView>(Resource.Id._From);


TextView to = FindViewById<TextView>(Resource.Id._To);
TextView load = FindViewById<TextView>(Resource.Id._Load);
TextView price = FindViewById<TextView>(Resource.Id._Price);
TextView remaining = FindViewById<TextView>(Resource.Id._Remaining);

from.Text = delivery.StartPosition;
to.Text = delivery.EndPosition;
load.Text = delivery.Load;
price.Text = delivery.Price + "$";
var diff = (delivery.EndDelivery - DateTime.Now);
remaining.Text = diff.Days + " days " + diff.Hours + "h " + diff.Minutes + "min";
}
}
Fisierul „DeliveryListActivity.cs”
[Activity(Label = "Select delivery")]
public class DeliveryListActivity : Activity
{
private ArrayAdapter<string> _adapter;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.DeliveryList);

var param = JsonConvert.DeserializeObject<Param>(Intent.GetStringExtra("ToDeliveryList"));


ListView listView = FindViewById<ListView>(Resource.Id.ListView);
List<string> items = new List<string>();

var list = param.Scope == Scope.ToSearch ? Files.GetDeliveriesByKeyword(param.Keyword)


: Files.GetDeliveriesByDate(param.DateTime);

if (list != null)
{
foreach (var l in list)
{
items.Add(l.EndDelivery.ToString(CultureInfo.CurrentCulture));
}
}

_adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, items);


listView.Adapter = _adapter;

listView.ItemClick += (sender, e) =>


{
if (list != null)
{
var delivery = list[e.Position];

switch (param.Scope)
{
case Scope.ToEdit:
Intent intent = new Intent(this, typeof(UpdateActivity));
intent.PutExtra("ToUpdate", JsonConvert.SerializeObject(delivery));
StartActivity(intent);
break;

case Scope.ToSearch:
case Scope.ToView:
intent = new Intent(this, typeof(ViewActivity));
intent.PutExtra("ToView", JsonConvert.SerializeObject(delivery));
StartActivity(intent);
break;

case Scope.ToRemove:
Files.Remove(delivery);
StartActivity(new Intent(this, typeof(MainActivity)));
break;
}
}
};
}
}
Fisierul „MainActivity.cs”:
[Activity(Label = "Trucker Organizer", MainLauncher = true)]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
//Files.Truncate();
if (new FileInfo(Files.Filename).Length != 0)
{
StartService(new Intent(this, typeof(DeliveryService)));
}

base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);

CalendarView calendar = FindViewById<CalendarView>(Resource.Id.Calendar);


Button add = FindViewById<Button>(Resource.Id.Add);
Button edit = FindViewById<Button>(Resource.Id.Edit);
Button remove = FindViewById<Button>(Resource.Id.Remove);
Button view = FindViewById<Button>(Resource.Id.View);
EditText keyword = FindViewById<EditText>(Resource.Id.Keyword);
Button search = FindViewById<Button>(Resource.Id.Search);

DateTime startDateTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);


DateTime currentTime = startDateTime.AddMilliseconds(calendar.Date).ToLocalTime();

add.Click += delegate
{
Intent intent = new Intent(this, typeof(AddtActivity));
var obj = new Param { DateTime = currentTime };
intent.PutExtra("ToAddt", JsonConvert.SerializeObject(obj));
StartActivity(intent);
};

edit.Click += delegate
{
Intent intent = new Intent(this, typeof(DeliveryListActivity));
var obj = new Param { DateTime = currentTime, Scope = Scope.ToEdit };
intent.PutExtra("ToDeliveryList", JsonConvert.SerializeObject(obj));
StartActivity(intent);

};

view.Click += delegate
{
Intent intent = new Intent(this, typeof(DeliveryListActivity));
var obj = new Param {DateTime = currentTime, Scope = Scope.ToView};
intent.PutExtra("ToDeliveryList", JsonConvert.SerializeObject(obj));
StartActivity(intent);
};

remove.Click += delegate
{
Intent intent = new Intent(this, typeof(DeliveryListActivity));
var obj = new Param { DateTime = currentTime, Scope = Scope.ToRemove };
intent.PutExtra("ToDeliveryList", JsonConvert.SerializeObject(obj));
StartActivity(intent);
};

search.Click += delegate
{
if (keyword.Text.Length > 0)
{
Intent intent = new Intent(this, typeof(DeliveryListActivity));
var obj = new Param { Keyword = keyword.Text, Scope = Scope.ToSearch
};
intent.PutExtra("ToDeliveryList", JsonConvert.SerializeObject(obj));
StartActivity(intent);
}
//keyword.SetError("This field can not be empty", null);
};
}
}

Вам также может понравиться

  • Lab 2 Pam
    Lab 2 Pam
    Документ5 страниц
    Lab 2 Pam
    Augusta Bucataru
    Оценок пока нет
  • Lab1 Pam
    Lab1 Pam
    Документ9 страниц
    Lab1 Pam
    Ion Popescu
    100% (2)
  • Lab 2 Somipp
    Lab 2 Somipp
    Документ5 страниц
    Lab 2 Somipp
    Augusta Bucataru
    Оценок пока нет
  • PAM Lab 1
    PAM Lab 1
    Документ6 страниц
    PAM Lab 1
    Vladislav Crivenco
    Оценок пока нет
  • PAm Examen-1
    PAm Examen-1
    Документ12 страниц
    PAm Examen-1
    Eric Semeniuc
    Оценок пока нет
  • Lab 6 Somipp
    Lab 6 Somipp
    Документ5 страниц
    Lab 6 Somipp
    Augusta Bucataru
    Оценок пока нет
  • BDC Lucrare de Curs
    BDC Lucrare de Curs
    Документ37 страниц
    BDC Lucrare de Curs
    Vladislav Crivenco
    Оценок пока нет
  • Pam Examen
    Pam Examen
    Документ7 страниц
    Pam Examen
    Daniil
    Оценок пока нет
  • SOMIPPRaspunsuri
    SOMIPPRaspunsuri
    Документ82 страницы
    SOMIPPRaspunsuri
    Urmanschi Mihail
    Оценок пока нет
  • Somipp SOMIPP5
    Somipp SOMIPP5
    Документ6 страниц
    Somipp SOMIPP5
    Damean Alexandra
    Оценок пока нет
  • Somipp Linux 2 UTM
    Somipp Linux 2 UTM
    Документ7 страниц
    Somipp Linux 2 UTM
    Cristi Poselețchi
    Оценок пока нет
  • Lab 1 Somipp
    Lab 1 Somipp
    Документ7 страниц
    Lab 1 Somipp
    TîmburŞtefan
    Оценок пока нет
  • SOMIPP Lab 5
    SOMIPP Lab 5
    Документ5 страниц
    SOMIPP Lab 5
    Augusta Bucataru
    Оценок пока нет
  • Examen PPe
    Examen PPe
    Документ11 страниц
    Examen PPe
    crismaruion
    100% (2)
  • Lab. 3
    Lab. 3
    Документ5 страниц
    Lab. 3
    Cristina Florea
    Оценок пока нет
  • Pam 4
    Pam 4
    Документ4 страницы
    Pam 4
    violina
    Оценок пока нет
  • Lab 1 PPE
    Lab 1 PPE
    Документ4 страницы
    Lab 1 PPE
    King 79
    Оценок пока нет
  • Pam Exam
    Pam Exam
    Документ2 страницы
    Pam Exam
    Culea Constantin
    Оценок пока нет
  • Lab 3 Somipp
    Lab 3 Somipp
    Документ14 страниц
    Lab 3 Somipp
    Augusta Bucataru
    Оценок пока нет
  • SOMIPP7
    SOMIPP7
    Документ3 страницы
    SOMIPP7
    Damean Alexandra
    Оценок пока нет
  • Laborator NR.2
    Laborator NR.2
    Документ9 страниц
    Laborator NR.2
    Daniil
    Оценок пока нет
  • Amoo 1
    Amoo 1
    Документ8 страниц
    Amoo 1
    Liliana Condrea
    Оценок пока нет
  • Lab 3
    Lab 3
    Документ4 страницы
    Lab 3
    Rosca Doinita
    Оценок пока нет
  • SOMIPP Lab6
    SOMIPP Lab6
    Документ4 страницы
    SOMIPP Lab6
    Dan
    Оценок пока нет
  • Somipp Linux 4 UTM
    Somipp Linux 4 UTM
    Документ4 страницы
    Somipp Linux 4 UTM
    Cristi Poselețchi
    Оценок пока нет
  • Laborator 1 ASO
    Laborator 1 ASO
    Документ4 страницы
    Laborator 1 ASO
    Жан Ганган
    Оценок пока нет
  • Iepuras Daniel Lab 1 TS
    Iepuras Daniel Lab 1 TS
    Документ4 страницы
    Iepuras Daniel Lab 1 TS
    DanuIepuras
    Оценок пока нет
  • PPE Lab7
    PPE Lab7
    Документ14 страниц
    PPE Lab7
    danielploaia
    Оценок пока нет
  • SOMIPP Lab5
    SOMIPP Lab5
    Документ4 страницы
    SOMIPP Lab5
    X3 KTO
    Оценок пока нет
  • Examen TIDPP
    Examen TIDPP
    Документ3 страницы
    Examen TIDPP
    Rosca Doinita
    Оценок пока нет
  • Lab2 (TS)
    Lab2 (TS)
    Документ7 страниц
    Lab2 (TS)
    Zeul Hriscei
    Оценок пока нет
  • Lab 2 AMOO
    Lab 2 AMOO
    Документ6 страниц
    Lab 2 AMOO
    Gheorghe Felicia
    Оценок пока нет
  • Lab 7 Somipp
    Lab 7 Somipp
    Документ5 страниц
    Lab 7 Somipp
    Augusta Bucataru
    Оценок пока нет
  • Lab 7
    Lab 7
    Документ2 страницы
    Lab 7
    Cristina Florea
    Оценок пока нет
  • Somipp Lab4
    Somipp Lab4
    Документ3 страницы
    Somipp Lab4
    Raducan Alina
    Оценок пока нет
  • Lab 1 PAD Braga Eugen
    Lab 1 PAD Braga Eugen
    Документ7 страниц
    Lab 1 PAD Braga Eugen
    Alexandru Kirika
    Оценок пока нет
  • Laborator 1 Teoria Sistemelor
    Laborator 1 Teoria Sistemelor
    Документ11 страниц
    Laborator 1 Teoria Sistemelor
    Sergiu Şveţ
    Оценок пока нет
  • BDC 9b
    BDC 9b
    Документ5 страниц
    BDC 9b
    Victor Noroc
    Оценок пока нет
  • PS TS
    PS TS
    Документ14 страниц
    PS TS
    Victor Turculet
    Оценок пока нет
  • Lucrare de Curs BDC
    Lucrare de Curs BDC
    Документ17 страниц
    Lucrare de Curs BDC
    Petru Voloceai
    Оценок пока нет
  • Laboratorul 2 PPE
    Laboratorul 2 PPE
    Документ4 страницы
    Laboratorul 2 PPE
    crismaruion
    Оценок пока нет
  • Lab 3 Ppe
    Lab 3 Ppe
    Документ8 страниц
    Lab 3 Ppe
    Anastasia Gherman
    Оценок пока нет
  • Examen PW
    Examen PW
    Документ71 страница
    Examen PW
    DorinRotaru
    Оценок пока нет
  • Lab7 AMOO
    Lab7 AMOO
    Документ11 страниц
    Lab7 AMOO
    Сергей Борта
    Оценок пока нет
  • Proiect de Curs AMOO Druta
    Proiect de Curs AMOO Druta
    Документ48 страниц
    Proiect de Curs AMOO Druta
    nn nnn
    Оценок пока нет
  • Lab7 IOT
    Lab7 IOT
    Документ8 страниц
    Lab7 IOT
    DanuIepuras
    Оценок пока нет
  • SQL Lab1
    SQL Lab1
    Документ27 страниц
    SQL Lab1
    Ion Şuiu
    Оценок пока нет
  • Proiect de An AMOO
    Proiect de An AMOO
    Документ39 страниц
    Proiect de An AMOO
    Raducan Alina
    100% (1)
  • Lab.6 FC
    Lab.6 FC
    Документ3 страницы
    Lab.6 FC
    Cristina Florea
    Оценок пока нет
  • Lab 4 BDC
    Lab 4 BDC
    Документ8 страниц
    Lab 4 BDC
    Ion Popescu
    0% (1)
  • SOMIPP
     SOMIPP
    Документ6 страниц
    SOMIPP
    Damean Alexandra
    Оценок пока нет
  • LAB3PSR
    LAB3PSR
    Документ11 страниц
    LAB3PSR
    Cristian
    Оценок пока нет
  • PPE Lab4-5
    PPE Lab4-5
    Документ8 страниц
    PPE Lab4-5
    danielploaia
    Оценок пока нет
  • TW Lab4
    TW Lab4
    Документ8 страниц
    TW Lab4
    Dan
    Оценок пока нет
  • LL3 (Amoo)
    LL3 (Amoo)
    Документ6 страниц
    LL3 (Amoo)
    Eric Semeniuc
    Оценок пока нет
  • LL2 PAM ECiobanu
    LL2 PAM ECiobanu
    Документ19 страниц
    LL2 PAM ECiobanu
    Ecaterina Ciobanu
    Оценок пока нет
  • PAM Lab 2 Rotaru Dan
    PAM Lab 2 Rotaru Dan
    Документ17 страниц
    PAM Lab 2 Rotaru Dan
    Dan
    Оценок пока нет
  • IDP Laborator 7
    IDP Laborator 7
    Документ7 страниц
    IDP Laborator 7
    Fifu One
    Оценок пока нет
  • PAM Lab6
    PAM Lab6
    Документ31 страница
    PAM Lab6
    Ion Cornea
    Оценок пока нет
  • Grile Dezvoltare Aplicatii Mobile
    Grile Dezvoltare Aplicatii Mobile
    Документ5 страниц
    Grile Dezvoltare Aplicatii Mobile
    Rayzen
    Оценок пока нет
  • Instr CET08
    Instr CET08
    Документ4 страницы
    Instr CET08
    Oleg Botnaru
    Оценок пока нет
  • Exemplu Raport
    Exemplu Raport
    Документ27 страниц
    Exemplu Raport
    Fil Gorea
    Оценок пока нет
  • Tema: Algoritmul de Criptografie RSA: Functionare
    Tema: Algoritmul de Criptografie RSA: Functionare
    Документ2 страницы
    Tema: Algoritmul de Criptografie RSA: Functionare
    Ion Popescu
    Оценок пока нет
  • Lab 1
    Lab 1
    Документ6 страниц
    Lab 1
    Ion Popescu
    Оценок пока нет
  • Algoritmul de Criptografie DSA
    Algoritmul de Criptografie DSA
    Документ2 страницы
    Algoritmul de Criptografie DSA
    DumitruGuba
    Оценок пока нет
  • Laboratorul nr.1
    Laboratorul nr.1
    Документ1 страница
    Laboratorul nr.1
    Ion Popescu
    Оценок пока нет
  • Lab 2
    Lab 2
    Документ2 страницы
    Lab 2
    Ion Popescu
    Оценок пока нет
  • Plia 4 14
    Plia 4 14
    Документ34 страницы
    Plia 4 14
    Ion Popescu
    Оценок пока нет
  • Plia 4 14
    Plia 4 14
    Документ34 страницы
    Plia 4 14
    Ion Popescu
    Оценок пока нет
  • Lab 3
    Lab 3
    Документ8 страниц
    Lab 3
    Ion Popescu
    Оценок пока нет
  • Plia 4 141
    Plia 4 141
    Документ55 страниц
    Plia 4 141
    Ion Popescu
    Оценок пока нет
  • Plia 7
    Plia 7
    Документ53 страницы
    Plia 7
    Ion Popescu
    Оценок пока нет
  • Plia 4 14
    Plia 4 14
    Документ34 страницы
    Plia 4 14
    Ion Popescu
    Оценок пока нет
  • Plia 4 141
    Plia 4 141
    Документ55 страниц
    Plia 4 141
    Ion Popescu
    Оценок пока нет
  • Functionare
    Functionare
    Документ4 страницы
    Functionare
    Ion Popescu
    Оценок пока нет
  • Plia 4 141
    Plia 4 141
    Документ55 страниц
    Plia 4 141
    Ion Popescu
    Оценок пока нет
  • Plia 3 15
    Plia 3 15
    Документ37 страниц
    Plia 3 15
    Ion Popescu
    Оценок пока нет
  • Ciclu Prelegeri TVPP
    Ciclu Prelegeri TVPP
    Документ100 страниц
    Ciclu Prelegeri TVPP
    Mihai Coșleț
    Оценок пока нет
  • Plia 2 15
    Plia 2 15
    Документ40 страниц
    Plia 2 15
    Ion Popescu
    Оценок пока нет
  • Plia 1 15
    Plia 1 15
    Документ53 страницы
    Plia 1 15
    Ion Popescu
    Оценок пока нет
  • Indrumar TAP
    Indrumar TAP
    Документ120 страниц
    Indrumar TAP
    Ion Popescu
    Оценок пока нет
  • Else Fcim Utm MD PDF
    Else Fcim Utm MD PDF
    Документ2 страницы
    Else Fcim Utm MD PDF
    Ion Popescu
    Оценок пока нет
  • Algoritmul de Criptografie DSA
    Algoritmul de Criptografie DSA
    Документ2 страницы
    Algoritmul de Criptografie DSA
    DumitruGuba
    Оценок пока нет
  • Exemplu
    Exemplu
    Документ1 страница
    Exemplu
    Ion Popescu
    Оценок пока нет
  • Cuprins
    Cuprins
    Документ3 страницы
    Cuprins
    Ion Popescu
    Оценок пока нет
  • HGJHB
    HGJHB
    Документ19 страниц
    HGJHB
    Ion Popescu
    Оценок пока нет
  • Rapot IOC
    Rapot IOC
    Документ5 страниц
    Rapot IOC
    Ion Popescu
    Оценок пока нет
  • SI Lab 1 Zubcov Olga
    SI Lab 1 Zubcov Olga
    Документ17 страниц
    SI Lab 1 Zubcov Olga
    Ion Popescu
    Оценок пока нет
  • Laboratorul nr.1
    Laboratorul nr.1
    Документ1 страница
    Laboratorul nr.1
    Ion Popescu
    Оценок пока нет