Just nu i M3-nätverket
Gå till innehåll

Sortera Listview.. Visa bara textbox.text.??????


VisualC

Rekommendera Poster

God dag anjuna... Den sista koden jag fick av dig går inte igenom en .txt fil eller hur??

Vad måste jag ändra om den ska gå igenom en .txt fil??

 

Måste verkligen ha hjälp nu, kommer inte vidare. Har verkligen fastnat!

 

Halva Karolinska Sjh tackar dig om du löser detta!

 

MVH Johan

 

Länk till kommentar
Dela på andra webbplatser

  • Svars 71
  • Skapad
  • Senaste svar
Halva Karolinska Sjh tackar dig om du löser detta!

Hehe, så det är där du jobbar. Jag bor precis bakom sjukhuset =)

 

Den sista koden jag fick av dig går inte igenom en .txt fil eller hur??

Jo, det gör den, men den sista koden jag postade var bara ändringar av funktionen PopulateListView och tillägg av en ny funktion LoadEntries, för att lösa problemet med uppräkningen av den där sista siffran. I övrigt baseras det på samma saker som tidigare (med undantaget att dina olika exempel alltid har olika antal poster mellan varje #, vilket gör det svårt att ge dig en enhetlig kod =).

 

Jag behöver en tydlig förklaring av problemet om du vill ha mer hjälp. Posta även din kod på nedanstående länk (med C# valt som språk) istället för här på e-forum. Koden är nästan omöjlig att följa som den formatteras (eller snarare inte alls formatteras) härinne

 

http://rafb.net/paste/

 

 

[inlägget ändrat 2007-09-13 12:50:36 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

Vad jag inte förstår är att du nämner en textfil, men i kodstycket så hämtar du datan som du lägger in i listviewen från olika kontroller på sidan.

 

Är det så att du först läser in en textfil (där du vet att det inte finns dubbletter) och sedan när något läggs till manuellt (där datan hämtas från dropdowns och andra kontroller) så vill du kontrollera att kombinationen Name+u är unik. Är den inte unik så skall den där uppräkningen ske?

 

 

 

Länk till kommentar
Dela på andra webbplatser

jag vet jag har inte lagt in sökningen till .txt filen i min kod. Jag försökte bygga in din, men det gick inge bra.. men den ska söka igenom .txt filen innan den läggs in i listview, det var mer att visa dig hur jag skapar string name och u... men dom två ska kontrolleras genom .txt filen innan dom addas till ListView1. det är där dubbletterna ska finnas(i .txt filen) för att .txt filen sparas så fort något item addas i listview1.

 

anjuna: Är den inte unik så skall den där uppräkningen ske?

precis då plussas name +1 och den genomför sökningen igen på det nya namnet...

 

[inlägget ändrat 2007-09-13 13:56:24 av VisualC]

[inlägget ändrat 2007-09-13 13:58:19 av VisualC]

Länk till kommentar
Dela på andra webbplatser

Ok, för att inte behöva förvirra ihop den här funktionaliteten med resten av koden så har jag skrivit om mitt exempel som en separat funktion som går igenom textfilen och gör ersättningar på dubbletterna. Sedan sparas den nya versionen ner till en ny textfil, där dubbletterna fått den där uppräkningen

 

http://rafb.net/p/np6N3w78.nln.html

 

Parametrarna är:

InFile : Originalfilen

OutFile : Nyskapad fil

Recordsize : Antal rader per post (inkl. inledande #)

NameIndex : Nollbaserat index för namnraden i en post

UIndex : Nollbaserat index för u-raden i en post

 

Så om din textfil är uppbyggd enligt nedanstående så skall anropet se ut så här:

ParseFileUpdateDoubleEntries(@"c:\fil.txt",@"c:\fil_2.txt",5,2,1)

(Om nu raden med Online representerar "u")

 

#

Online

K441131

bla

bla

#

Online

K441131

bla

bla

 

 

 

Länk till kommentar
Dela på andra webbplatser

Det går inte att göra så här, tyvärr.. för att alla ska gå igenom en och samma .txt fil. Tror att du uppfatta mig lite fel

 

Det nya nummret ska komma upp i min listview och sparas i samma .txt fil efter kontrollerat och godkännas(att det inte finns någon dublett).

 

användare1

Om någon lägger till det här och .txt filen har sparats:

listview1

online, k441121, blabla, blabla

 

så om en annan användare ska skriva online, k441121 så söker den igenom .txt filen,om den hittar k441121 plussa på 1, så att det blir:

 

användare2

online, k441122, blabla, blabla

 

och sparas i samma .txt fil med det namnet (k441122). Genom våran nätverksuppkoppling

 

 

Kan man ändra lite på koden så att den använder en .txt fil och addar det nya namnet i listview.

 

Förlåt att jag är lite jobbig, men hela min avdelning väntar på det här programmet. För att tjäna en massa tid..

Skulle faktiskt kunna betala en slant för lite hjälp =)

[inlägget ändrat 2007-09-13 15:53:49 av VisualC]

Länk till kommentar
Dela på andra webbplatser

Tja, har avlämning av ett stort projekt imorgon förmiddag så jag har suttit ganska tajt här idag. Jag tittar in igen imorgon, ev. skulle jag kunna komma förbi sjukhuset om ni finns kvar under eftermiddagen. Men jag hör av mig när jag är klar med mitt projekt.

 

Länk till kommentar
Dela på andra webbplatser

ok.. låter bra! ungefär halv 5 skulle vara bäst för mig.. Då är jag ensam kvar och det är ingen produktion kvar, fungerar det för dig?

Vi sitter på norra stationsgatan 67, andra sidan bron.

 

Länk till kommentar
Dela på andra webbplatser

Hej Anjuna =) hur har projektet gått?

Ska vi boka tid en timme nu på eftermiddan?

Kan diskutera slantarna innan om du vill...

 

Länk till kommentar
Dela på andra webbplatser

Sitter lite avigt till just nu tyvärr, men jag lovar att försöka lösa problemet om du är online imorgon.

 

Länk till kommentar
Dela på andra webbplatser

Tjena.. Redo?? =)

 

Måste få det här gjort nu... Ska leverera programmet i huddinge och visby på mån/tis behöver verkligen din hjälp nu..

 

Du får slantar för det.. =)

 

Ska jag ta föregående fråga igen, lite mera förklarigt...

 

Många användare kommer att spara igenom samma .txt fil så alla "Jobb" måste vara unika, för att dom ska vara unika måste rad1 och rad2 vara unikt. som det här ex:

 

#

Online

K441151

blabla

blabla

#

Online

k441152

blabla

blabla

 

Så här ska det bli..

 

När dom skapar"Jobbet" Skriver dom i en combobox & två texboxes & tryker på knapp, då ska den söka igenom TVÅ .txt filer och söka om combobox1 = (rad1) och textbox1 = (rad2) innan det namnet godkänns och läggs in i listview1 och sparas. Om dom inte är unika ska (k441152, rad2) plussas på 1 till (K441153) i det här exemplet. Om jag skulle skapa jobbet online, K441152, blabla,blabla om .txt filerna ser ut som ex ovan skulle den skriva:

 

listview1 visar:

Online, K441153, blabla, blabla

 

och sparar som:

#

Online

K441153

blabla

blabla

 

Och K:et måste vara Stort(Caps Lock)..

Fråga gärna om du inte förstår något så slipper du koda i onödan.. =)

 

//Tack

 

[inlägget ändrat 2007-09-15 07:28:15 av VisualC]

Länk till kommentar
Dela på andra webbplatser

Du vill alltså kontrollera först att det namn+u de valt i formuläret inte redan finns i textfilen och om det gör det så skall namnet räknas upp. Därefter läggs det in i listviewen och posten läggs då även till sist i textfilen?

 

För att först då få ett unikt namn så har du först följande funktion:

http://rafb.net/p/NAIkBA78.nln.html

 

Som du anropar med ex.

string UniqueName = GetUniqueName(Name, U, @"c:\testa.txt", 5, 2, 1);

Name: Namnet från ex. textbox

U: U från ex. textbox

Filnamn

5: Poststorleken

2: Index för namn i post

1: Index för U i post

 

Om du alltså anropar funktionen med Name="k441152" (och det finns en dubblett) så får du tillbaka "k441153"

 

Nu har du ett unikt namn/u-par som du kan lägga in i Listview och sedan spara sist i filen.

 

Länk till kommentar
Dela på andra webbplatser

Fungerar perfekt Anjuna..! Fan va du är grym! Tar jag bort felmarginalerna genom att det blir bara stort K.??

 

Sedan har jag bara några justeringar...

 

fråga 1) http://rafb.net/p/FPI2Th58.html

 

Fråga 2) http://rafb.net/p/e0DDCa46.html och även flytta den subfoldern till dest, tror att det är något fel på min debug för jag får alltid fel "strange"

 

Fråga 3) http://rafb.net/p/kxjuQK24.html

 

Tack Anjuna betyder mycket!!

 

Länk till kommentar
Dela på andra webbplatser

Tar jag bort felmarginalerna genom att det blir bara stort K.??

Förstår inte riktigt vad du menar.

 

Hur gör jag att den lämnar info från .txt fil för alla matchande subitems[1] även dom som heter likadant??

I den sista if-satsen

if (list.ContainsKey(nameAndJob))
                       { ....

så kan du lägga till en else-sats för att hantera dubbletterna (ex. lägga in dem i en annan listview)

 

Den här koden ska bara kolla och räkna filer i subfolders och hämta bara det mappnamnet.

Även detta rätt oklart vad du menar med. För att räkna filerna i en mapp använder du

Directory.GetFiles(@"c:\").GetUpperBound(0);

 

Sista frågan borde du ha fått en massa kompileringsfel som den koden såg ut. Följande sparar iallafall de icke-markerade raderna i textfilen, samt plockar bort markerade rader ur listviewen

[log]

			if (listView1.SelectedItems.Count > 0)
{
if (MessageBox.Show("Vill du verkligen ta bort denna?", "Mina jobb",
MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== DialogResult.Yes)
{
StreamWriter sw = new StreamWriter(@"c:\aaa.txt");
for (int i=0;i<listView1.Items.Count;i++){
if (!listView1.Items[i].Selected)
	sw.WriteLine(listView1.Items[i].Text);
}
sw.Close();
for (int i = listView1.SelectedItems.Count - 1; i >= 0; i--)
listView1.Items.Remove(listView1.SelectedItems[i]);
}
}

[/log]

 

Länk till kommentar
Dela på andra webbplatser

(Satans e-forum att strula, nu gnäller den över obalanserade taggar bara för att man skriver kod med klamrar i)

 

Nå, jag har postat mitt svar här istället:

http://rafb.net/p/WJPbAw32.nln.html

 

(Börjar seriöst fundera på att lämna e-forum om inte problemen åtgärdas snart från IDGs sida :thumbsdown:)

 

Länk till kommentar
Dela på andra webbplatser

Men hur ändrar jag till att den ska gå igenom alla items i listview1 även dom som heter likadant.??

 

if (list.ContainsKey(nameAndJob))

{ ....

 

 

Länk till kommentar
Dela på andra webbplatser

Nu tror jag att jag har fått igång koden igen, men när den ska skriva om .txt filen skriver den lite konstigt.

 

blir så här:

#

OnlineVanlig

K441151

 

 

 

 

2007-09-15 10:42:44

ad

#

OnlineTolk

K441152

 

 

 

 

2007-09-15 10:46:39

ad

 

"jätte skumt"

nånstans här:

else

{

sw.WriteLine("#");

sw.WriteLine(name);

sw.WriteLine(Job);

sw.WriteLine();

sw.WriteLine();

}

}

else

{

sw.WriteLine(line);

}

}

sw.Flush();

}

System.IO.File.Delete(path1 + "/personalpr.txt");

System.IO.File.Move(tempFilename, path1 + "/personalpr.txt");

}

sparaform();

}

}

 

Länk till kommentar
Dela på andra webbplatser

Fixat!!!! den sista inlägget!! men nu återstår bara att den ska leta efter alla i listview2.. som du sa: if (list.ContainsKey(nameAndJob))

{

 

Om jag vill att den ska göra samma sak som mot det första item, ska den göra likadant mot dom andra.??

 

Nu går den bara igenom första..??

 

 

Länk till kommentar
Dela på andra webbplatser

Om jag vill att den ska göra samma sak som mot det första item, ska den göra likadant mot dom andra.??

 

Nu går den bara igenom första..??

Hur menar du nu?

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...