http://www.adaconcept.com/programs/stringkezeles.adb
--FIGYELEM: a kod az alapveto stringmuveleteket mutatja be...
--nincs kivetelkezeles, tuti elsore elszall a progi...
--lesd a kodot!!! es probalj ki feladatokon mindent!!!
with Ada.Text_IO;
with Ada.Float_Text_IO;
with Ada.Strings.Unbounded;
with Ada.Strings.Unbounded.Text_IO;
use Ada.Text_IO;
procedure stringkezeles is
szoveg:string(1..255):=(others=>' ');
szoveg_hossz:Natural;
us:Ada.Strings.Unbounded.Unbounded_String:=Ada.Strings.Unbounded.Null_Unbounded_String; --igy deklaralunk/inicializalunk Unbounded_String-et... :)
l:integer;
szam:float:=0.0;
szamszoveg:string:="7.7";
begin
Ada.Text_IO.Put_Line("Program indul");
put_line("gepelj be valamit: ");
------------------------------------"sima" string
get_line(szoveg,szoveg_hossz); --bekerunk a billentyuzetrol a szoveg valtozoba, a bekert/a felhasznalo altal megadott szoveg hossza a szoveg_hossz valtozoba kerul
put_line(szoveg(1..szoveg_hossz) & "|"); --kiirjuk a szoveg string-et + egy | jelet, hogy tenyleg lassuk a veget...
------------------------------------Unbounded_String
Ada.Strings.Unbounded.Append(us,szoveg(1..szoveg_hossz)); --ertekadas egy Unbounded_String-nek
put_line(Ada.Strings.Unbounded.To_String(us)); --| Unbounded_String kiirasa ketfelekeppen
Ada.Strings.Unbounded.Text_IO.Put_Line(us); --|
new_line;
put_line("adj meg ujra egy szoveget: ");
us:=Ada.Strings.Unbounded.Text_IO.Get_Line; --bekeres bill.-rol Unbounded_String-be
Ada.Strings.Unbounded.Text_IO.Put_Line(us);
put_line("a megadott szoveg hossza");
l:=Ada.Strings.Unbounded.Length(us); --Unbounded_String hosszanak lekerese
put(integer'image(l));
new_line;
put_line("az elso karaktere: ");
new_line;
put(Ada.Strings.Unbounded.Element(us,1)); --|Unbounded_String egy karakterenek kiirasa...
new_line;
put(Ada.Strings.Unbounded.Slice(us,2,l)); --| es tobbnek... (Unbounded_String, mettol, meddig)
new_line;
Ada.Strings.Unbounded.Insert(us,l,szamszoveg); --Unbounded_String-be egy masik szoveg beszurasa egy adott poziciotol...
Ada.Strings.Unbounded.Text_IO.Put_Line(us);
Ada.Strings.Unbounded.Delete(us,1,1); --torles Unbounded_String-bol... (probalgassatok... :D )
Ada.Strings.Unbounded.Text_IO.Put_Line(us);
------------------------------------Konvertalasok
Ada.Float_Text_IO.put(float'value(szamszoveg(1..szamszoveg'last))); --"sima" string float-ta konvertalasa
new_line;
put_line("adj meg egy float szamot: ");
us:=Ada.Strings.Unbounded.Text_IO.Get_Line;
szam:=float'value(Ada.Strings.Unbounded.To_String(us)); --float-ta konvertaljuk a begepelt sort
Ada.Float_Text_IO.put(szam);
new_line;
Ada.Text_IO.Put_Line("Program vege");
end;