Re: Leinwandliebe Community Top-100
Posted: Thu Aug 14, 2025 6:35 pm
Hä also Kolle, du weißt schon, dass du nicht 100 Filme nennen musst oder?
Das Forum für Kult-, Genre-, Kunst- und asiatischen Film
https://leinwandliebe.com/
Code: Select all
EnableExplicit
Declare readList(this$)
Structure _MOVIE
movieID.s
count.i
EndStructure
Global NewList movieTitle._MOVIE()
If ExamineDirectory(0, "", "*.txt*")
While NextDirectoryEntry(0)
readList(DirectoryEntryName(0))
Wend
FinishDirectory(0)
EndIf
SortStructuredList(movieTitle(), #PB_Sort_Descending, OffsetOf(_MOVIE\count), TypeOf(_MOVIE\count))
ForEach movieTitle()
Debug "https://www.imdb.com/title/"+movieTitle()\movieID+" x"+movieTitle()\count
Next
End
Procedure readList(this$)
Protected NewList readLine$()
Define pos, exists
If ReadFile(1, this$)
Repeat
AddElement(readLine$())
readLine$() = ReadString(1)
Until Eof(1)
CloseFile(1)
EndIf
ForEach readLine$()
pos = FindString(UCase(readLine$()), "/TT")
If pos
readLine$() = Right(readLine$(), Len(readLine$())-pos)
readLine$() = Trim(readLine$(), "/")
readLine$() = Trim(readLine$(), " ")
exists = #False
ForEach movieTitle()
If movieTitle()\movieID = readLine$()
exists = #True
movieTitle()\count +1
Break
EndIf
Next
If Not exists
AddElement(movieTitle())
movieTitle()\movieID = readLine$()
movieTitle()\count = 1
EndIf
EndIf
Next
EndProcedure
diceman wrote: ↑Sat Aug 23, 2025 10:03 pm Wen es interessiert, hier das Script (in PureBasic):
Der Ordner wird gescannt nach Textfiles. imdb-IDs werden aus dem File extrahiert, "gesäubert", und mit allen bislang gescannten IDs im pool verglichen. Falls keine Übereinstimmung, wird ein neuer Eintrag im Pool generiert. Falls schon vorhanden, wird der Counter für den entsprechenden Eintrag um +1 erhöht. Anschließend wird die Liste gemäß der Nennungen sortiert und als funktionierende Links angezeigt.
Code: Select all
EnableExplicit Declare readList(this$) Structure _MOVIE movieID.s count.i EndStructure Global NewList movieTitle._MOVIE() If ExamineDirectory(0, "", "*.txt*") While NextDirectoryEntry(0) readList(DirectoryEntryName(0)) Wend FinishDirectory(0) EndIf SortStructuredList(movieTitle(), #PB_Sort_Descending, OffsetOf(_MOVIE\count), TypeOf(_MOVIE\count)) ForEach movieTitle() Debug "https://www.imdb.com/de/title/tt"+movieTitle()\movieID+" x"+movieTitle()\count Next End Procedure readList(this$) Protected NewList readLine$() Define pos, exists If ReadFile(1, this$) Repeat AddElement(readLine$()) readLine$() = ReadString(1) Until Eof(1) CloseFile(1) EndIf ForEach readLine$() pos = FindString(UCase(readLine$()), "/TT") If pos readLine$() = Right(readLine$(), Len(readLine$())-pos) readLine$() = Trim(readLine$(), "/") readLine$() = Trim(readLine$(), " ") readLine$() = Trim(UCase(readLine$()), "T") exists = #False ForEach movieTitle() If movieTitle()\movieID = readLine$() exists = #True movieTitle()\count +1 Break EndIf Next If Not exists AddElement(movieTitle()) movieTitle()\movieID = readLine$() movieTitle()\count = 1 EndIf Else DeleteElement(readLine$()) EndIf Next EndProcedure
Con Trai wrote: ↑Sun Aug 24, 2025 3:13 amdiceman wrote: ↑Sat Aug 23, 2025 10:03 pm Wen es interessiert, hier das Script (in PureBasic):
Der Ordner wird gescannt nach Textfiles. imdb-IDs werden aus dem File extrahiert, "gesäubert", und mit allen bislang gescannten IDs im pool verglichen. Falls keine Übereinstimmung, wird ein neuer Eintrag im Pool generiert. Falls schon vorhanden, wird der Counter für den entsprechenden Eintrag um +1 erhöht. Anschließend wird die Liste gemäß der Nennungen sortiert und als funktionierende Links angezeigt.
Code: Select all
EnableExplicit Declare readList(this$) Structure _MOVIE movieID.s count.i EndStructure Global NewList movieTitle._MOVIE() If ExamineDirectory(0, "", "*.txt*") While NextDirectoryEntry(0) readList(DirectoryEntryName(0)) Wend FinishDirectory(0) EndIf SortStructuredList(movieTitle(), #PB_Sort_Descending, OffsetOf(_MOVIE\count), TypeOf(_MOVIE\count)) ForEach movieTitle() Debug "https://www.imdb.com/de/title/tt"+movieTitle()\movieID+" x"+movieTitle()\count Next End Procedure readList(this$) Protected NewList readLine$() Define pos, exists If ReadFile(1, this$) Repeat AddElement(readLine$()) readLine$() = ReadString(1) Until Eof(1) CloseFile(1) EndIf ForEach readLine$() pos = FindString(UCase(readLine$()), "/TT") If pos readLine$() = Right(readLine$(), Len(readLine$())-pos) readLine$() = Trim(readLine$(), "/") readLine$() = Trim(readLine$(), " ") readLine$() = Trim(UCase(readLine$()), "T") exists = #False ForEach movieTitle() If movieTitle()\movieID = readLine$() exists = #True movieTitle()\count +1 Break EndIf Next If Not exists AddElement(movieTitle()) movieTitle()\movieID = readLine$() movieTitle()\count = 1 EndIf Else DeleteElement(readLine$()) EndIf Next EndProcedure
![]()
Und sogar ohne ; am Ende jeder Zeile.Nahaufnahme wrote: ↑Sun Aug 24, 2025 3:16 pm Sieht schöner aus als Python oder Javaskript. Aber wirklich ohne { am Anfang und } am Ende?![]()