Avatar billede Dartemis Nybegynder
01. juni 2009 - 20:56 Der er 10 kommentarer og
1 løsning

Gem links til .txt fil

Hej Eksperter

Sidder her og laver et prog, hvor der skal være en funktion hvor den først henter linksene i .txt filen og viser dem i en combobox, bagefter kan du skrive et nyt link i textboxen men hvis linket allerede er i comboboxen skal det ikke gemmes igen, men hvis det selvfølgelig ikke er der skal det gemmes i .txt filen..

Nogle der kan hjælpe mig med denne funktion ?

Mange tak ! :)

//Dartemis
Avatar billede Dartemis Nybegynder
03. juni 2009 - 08:25 #1
ingen der kan hjælpe ??
Avatar billede zkill Nybegynder
03. juni 2009 - 10:56 #2
For at læse og skrive til en fil, så læs lidt på denne side:
http://www.csharphelp.com/archives/archive147.html

Det meget simpelt.. Men lav et lille test program og leg med det..

Når du så har læst lær at skrive og læse fra filerne..
Så indlæser du dine links i en liste af strings.
List<String> linksList = new List<String>();

når du læser fra filen laver du bare en add

linksList.add(file.ReadLine());



For at tilføje listen til comboboxen. er det vist os bare en function der hedder Items.add() hvor den kan tage et array eller en liste.
Hvis den tager et array, kan du på din liste kalde en function som returnere et array.


Når du så indtaster et nyt link, så kan du kalde exist (Mener jeg den hedder) på din liste..

if(!linksList.exist(textboks.text))
{
  linksList.add(textboks.text);
  comboboks.items.add(textboks.text);
  textboks.text = "";
}
else
  MessageBox("Link", "Linket findes i forvejen..");


Håber dette hjalp lidt.. :)
Avatar billede Dartemis Nybegynder
03. juni 2009 - 13:02 #3
gør denne her funktion at den laver en ny linje i txt filen med det nye link ?
Avatar billede Dartemis Nybegynder
03. juni 2009 - 13:07 #4
Altså min kode ser sådan her ud lige nu:

string path = @"c:\Stations.txt";
                using (StreamWriter sw = File.CreateText(path))
                {
                    sw.WriteLine(textBox1.Text);

                }

                using (StreamReader sr = File.OpenText(path))
                {
                    string s = "";
                    while ((s = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(s);
                        dropdown.Items.Add(s);
                    }


og den gemmer fint min hvis jeg fx. 3 linjer i min txt så overskriver det nye link alle sammen..? :S
Avatar billede oneeighty Nybegynder
09. juni 2009 - 11:33 #5
Uden at sidde med Visual Studio tror jeg at du istedet for CreateText bør prøve

using (StreamWriter sw = new StreamWriter(path, true))
{
    sw.WriteLine(textBox1.Text);
}

true indikere at der skal tilføjes til filen istedet for at den opretter en ny fil hver gang metoden køres.
Avatar billede Dartemis Nybegynder
11. juni 2009 - 10:39 #6
TAK oneeighty ! :D

Det virkede sku ! :D

håber du måske kan hjælpe mig med en anden lille ting ?

tænke på om man på en eller anden måde kan gøre så i dropdownen kan se et navn først og så linket ? men når linket bliver valgt skal navnet ikke vælges med ? prøver lige at vise det :p

Dropdown
________________________________________
|P3, http:/link.fm __________________________|v|

sådan her.. så man kan se i starten hvilken kanal det er og så linke, og når DET så bliver valgt ryger linket ind i afspillern uden P3 teksten..
Avatar billede oneeighty Nybegynder
11. juni 2009 - 12:16 #7
Jeg ved ikke om det er den pæneste løsning, men umiddelbart kan du jo prøve at lave noget strengformatering på min streng "P3, http:/link.fm" og så fjerne alt før http og så har du jo dit link.
Avatar billede Dartemis Nybegynder
11. juni 2009 - 13:35 #8
okay vil jeg prøve :) tak ! :)

ved du os hvordan jeg så får den til at afspille linksene ? for når jeg sætter den til at hente linksene i dropdownen så afspiller den, den ikke ?
ser sådan her ud:

private void axWindowsMediaPlayer1_Enter(object sender, EventArgs e)

        {
            axWindowsMediaPlayer1.URL = (string)dropdown.SelectedItem;
        }
Avatar billede oneeighty Nybegynder
11. juni 2009 - 13:41 #9
Det er aldrig noget jeg rigtigt har roddet med desværre. Er det fint jeg smider et svar?
Avatar billede Dartemis Nybegynder
12. juni 2009 - 12:58 #10
ja selvfølgelig :)

du løste jo mit problem så kom da endelig med et :) :)
Avatar billede oneeighty Nybegynder
12. juni 2009 - 14:55 #11
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester